我正在学习Python,并尝试创建一个简单的函数来执行以下逻辑:
我做了以下操作,但我的问题是,它没有将结果输入到下一个操作中。你能检查一下我的代码并告诉我我做错了什么吗
import random
num = 1
while num < 100:
x = random.randint(1,9)
y = random.randint(1,9)
opslist = ['+', '-', '*', '/']
ops = random.choice(opslist)
print(x,ops,y)
if ops == '+':
z = x + y
elif ops == '-':
z = x - y
elif ops == '*':
z = x * y
elif ops == '/':
z = x / y
result = float(input("Please insert the result: "))
if result == z: x = z
print(z)
num = num+1
正如tevemadar在评论中提到的那样,解决方案是将
x
移出循环,以便在循环之前只为其分配一个随机数。如果输入与结果匹配,x
的下一个值将来自上一个结果。然后,您可以使用内联if来查看结果是否等于用户输入的值,然后将其用作x值,或者选择另一个随机数:另外,我建议将
oplist
初始化移到循环之外,以便只初始化它一次。另外,使用for
循环将消除不必要的num
变量相关问题 更多 >
编程相关推荐