python小白,自己仿照小甲鱼写了一个数字运算游戏,算对了但python说不对
import random
a = random.randint(1,10)
b = random.randint(1,10)
print("已知a=",a)
print("已知b=",b)
print("你一共有三次机会")
life = 3
real_answer = a+b
while life > 0:
your_answer = input("a+b=")
int(your_answer)
if your_answer == real_answer :
print("正确!")
break
else:
print("错误,再来")
life = life-1
print("游戏结束")
——————————————————
结果就是即使输入了正确答案,但是Python依然认为错误
在你的代码中,问题出现在你把用户输入的 your_answer 转换为整数的过程中并没有将其进行赋值后进行比较,导致类型不匹配。可以在转换后重新赋值或者直接在比较时进行转换。你可以做如下修改:
import random
a = random.randint(1, 10)
b = random.randint(1, 10)
print("已知a=", a)
print("已b=", b)
print("你一共有三次机会")
life = 3
real_answer = a + b
while life > 0:
your_answer = int(input("a+b="))# 直接在这里将输入转换为整数
if your_answer == real_answer:
print("正确!")
break
else:
print("错误,再来")
life -= 1# 这里可以用 -= 来简化写法
print("游戏结束")
关键的修改在于:
1. 在输入时就将 your_answer 转换为整数:`your_answer = int(input("a+b="))`。
2. 在减少 life 值的时候,可以使用组合赋值运算符:life -= 1。
这样你的代码就能够正常判断用户输入的答案是否正确了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 int(your_answer) 不会直接改变 your_answer ,而是返回一个整数, your_answer 没有变成整数,还是字符串
所以,应使用
your_answer = int(your_answer)
页:
[1]