python 将数字转换为文本,使其不会失去功能,并且行为仍与数字相同

bpzcxfmw  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(473)

在Python中,有没有可能把数字转换成文本,使它们看起来像文本,但行为仍然像数字?最理想的情况是不使用列表。最简单的方法是,例如:1 + 1 = 2转换为1 + 1 = 2。
我试过num2words库,但是结果总是文本的连接(oneone),而不是求和的结果。提前感谢你的回答和耐心,因为我还是一个新手。

from random import randint
from num2words import num2words

score = 0
while score <= 10:
    num1 = randint(1,10)
    num2 = randint(1,10)
    qAns = num2words(num1) + num2words(num2)
    print("What is", num2words(num1),"plus" + num2words(num2))
    ans = input("type your answer: ")
    if ans == qAns:
        print("Correct!")
        score = score + 1
    else:
        print("Incorrect!")
        score = score - 1
    print(score)
jgwigjjp

jgwigjjp1#

您不应比较两个随机数的string是否等于输入的string,而应首先将用户输入转换为适当的类型(int),然后设置正确的if条件(if num1 + num2 == ans

from random import randint
from num2words import num2words

score = 0
while score <= 10:
    num1 = randint(1,10)
    num2 = randint(1,10)
    print(f"What is {num2words(num1)} plus {num2words(num2)}: ")
    ans = int(input("type your answer: ")) # Notice the int() wrapping the input()
    if num1 + num2 == ans:
        print("Correct!")
        score = score + 1
    else:
        print("Incorrect!")
        score = score - 1
    print(score)

相关问题