我正在努力把一个非常基本的数学程序放在一起。 下面的函数以前已经工作过,但是现在for循环总是在函数停止之前运行2次完整的迭代。你知道吗
它应该只运行10次。你知道吗
我尝试了几种缩进和for/while循环以及range和xrange的组合。你知道吗
它进行了19次迭代。你知道吗
def gameADD():
a = 1
b = 50
error = 0
correct = 0
myguess = 0
x = 0
for x in range(0, 10):
print "for loop",x
num1 = random.randint(a, b)
num2 = random.randint(a, b)
result = (num1 + num2)
print " ",num1
print "+ ",num2
print "___________"
print " "
myguess = input('Hvad er Resultatet?: ')
if myguess != result:
print
"Det er forkert"
print
"KOM IGEN MESTER"
error = error + 1
print
"forkert times", x
if myguess == result:
print
"__"
print
"GODT!!! DET ER RIGTIG"
print
result, " er korrekt"
print
"Du har lavet ", error, " fejl."
correct = correct + 1
print
"Du har lavet ", correct, " rigtig."
print
"korrekt times", x
x = x + 1
return error
触发功能的代码:
pick=input('Hvad vil du lave? :')
if pick == 1:
os.system('clear')
start = time.time()
gameADD()
end = time.time()
calctime = end-start
print (calctime)," sekunder"
#insert new data after each round
con = lite.connect('math.db')
with con:
cur = con.cursor()
user = username
ttime = calctime
errors = gameADD()
cur.execute("INSERT INTO stats VALUES(?, ?, ?, ?);",[user,"1",ttime,errors])
raw_input('Tryk ENTER for at komme til hovedmenu....')
os.system('clear')
以下是正确的版本(我已经标记了我进行更改的地方):
结果如下(运行10次):
您使用了for循环,但随后添加了条件,就好像使用while循环一样。for循环本身处理x=x+1和x=0部分,因此您不需要它们。你知道吗
for循环和x=x+1都在x上加1
相关问题 更多 >
编程相关推荐