【发布时间】:2017-01-30 19:15:56
【问题描述】:
我尝试为我的小孩编写此代码来练习简单的数学 我想给用户解决 3 个问题,但程序运行随机次数的问题。我做错了什么? 谢谢
import random
for i in range(3): # number of problems
for n in range(999):
num1 = random.randrange(11)
num2 = random.randrange(11)
if num1<num2:
break
else:
sum = eval(input("how much is {} - {} = ".format(num1,num2)))
if sum == num1 - num2:
print ("Good job!")
break
for x in range(5): #nr of wrong tries
if sum != num1 - num2:
sum = eval(input("Try again {} - {} = ".format(num1,num2)))
else:
print ("Good job!")
break
【问题讨论】:
-
你没有解释你的问题是什么。您希望您的程序做什么,而它正在做什么?
-
嗨,就像我说的那样,我希望程序向用户提供 3 个不同的问题,如下所示:2-2 有多少= 3-2 有多少= 6-1 有多少=但它会给出 2 个或 1 个或 0 个问题,有时还会给出 3 个问题
-
如果
num1 < num2为真,您将跳出内部 for 循环,因此它会运行 3 个或更少的问题。使用continue而不是break,或者更好的是,使用while循环。while循环用于循环直到满足条件,而for循环用于知道要循环多少次。
标签: python python-3.x for-loop