2 回答

TA貢獻1839條經驗 獲得超15個贊
您使用了 for 循環,但隨后添加了條件,就好像您正在使用 while 循環一樣。for 循環處理 x = x +1 和 x=0 部分本身,因此您不需要它們。
for 循環和 x=x+1 都將 x 加 1。
def gameADD():
a = 1
b = 50
error = 0
correct = 0
myguess = 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:
"Det er forkert"
"KOM IGEN MESTER"
error = error + 1
"forkert times", x
if myguess == result:
"__"
"GODT!!! DET ER RIGTIG"
result, " er korrekt"
"Du har lavet ", error, " fejl."
correct = correct + 1
"Du har lavet ", correct, " rigtig."
"korrekt times", x
return error

TA貢獻1921條經驗 獲得超9個贊
這是正確的版本(我已經標記了我進行更改的地方):
def gameADD():
a = 1
b = 50
error = 0
correct = 0
myguess = 0
x = 0 # <<-- comment or remove this line
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:
"Det er forkert"
"KOM IGEN MESTER"
error = error + 1
"forkert times", x
if myguess == result:
"__"
"GODT!!! DET ER RIGTIG"
result, " er korrekt"
"Du har lavet ", error, " fejl."
correct = correct + 1
"Du har lavet ", correct, " rigtig."
"korrekt times", x
#x = x + 1 # <<-- comment or remove this line
return error # <<-- indented to the left
這是結果(應該運行 10 次):
>>> gameADD()
for loop 0
5
+ 28
___________
Hvad er Resultatet?: 4
for loop 1
12
+ 25
___________
Hvad er Resultatet?: 5
for loop 2
25
+ 10
___________
Hvad er Resultatet?: 6
for loop 3
9
+ 12
___________
Hvad er Resultatet?: 4
for loop 4
44
+ 32
___________
Hvad er Resultatet?: 5
for loop 5
31
+ 49
___________
Hvad er Resultatet?: 6
for loop 6
12
+ 45
___________
Hvad er Resultatet?: 4
for loop 7
12
+ 49
___________
Hvad er Resultatet?: 3
for loop 8
18
+ 22
___________
Hvad er Resultatet?: 2
for loop 9
13
+ 10
___________
Hvad er Resultatet?: 3
10
>>>
添加回答
舉報