0
i = 0
numbers = []
while i < 6:
print "at the top i is %d" % i
numbers.append(i)
i = i + 1
print "Numbers now:", numbers
print "At the bottom i is %d" %i
print "numbers:"
for num in numbers:
print num
這個版本可以正常工作,但我改變這一點,但不能正常工作,具體如下:這兩個while循環有什麼區別?
i = 0
numbers = []
start_num = raw_input('>>>')
def show_num(start_num):
global i
while i < start_num:
print "At the top i is %d" %i
numbers.append(i)
i += 1
print "Number now: ", numbers
print "At the bottom i is %d" %i
show_num(start_num)
正確的結果是:
at the top i is 0
Numbers now: [0]
At the bottom i is 1
at the top i is 1
Numbers now: [0, 1]
At the bottom i is 2
at the top i is 2
Numbers now: [0, 1, 2]
At the bottom i is 3
at the top i is 3
Numbers now: [0, 1, 2, 3]
At the bottom i is 4
at the top i is 4
Numbers now: [0, 1, 2, 3, 4]
At the bottom i is 5
at the top i is 5
Numbers now: [0, 1, 2, 3, 4, 5]
At the bottom i is 6
numbers:
0
1
2
3
4
但第二代碼顯示了無限一加一加...
爲什麼第二個代碼失敗?
感謝您的分享。在Learning Python中,我注意到Hard Way顯示不同的類型使用不同的%,例如%d%s%r,並且您的方法也需要在不同情況下進行更改? {0}是什麼意思?這意味着格式號碼? – Annndy
Google是你的朋友。 https://pyformat.info/ – tripleee
也http://stackoverflow.com/questions/13451989/pythons-many-ways-of-string-formatting-are-the-older-ones-going-to-be-deprec – tripleee