我無法輸入多個整數。我應該能夠指定多少,然后像這樣輸入......
How many integers? 3
Please enter an integer 1: 5
Please enter an integer 2: 2
Please enter an integer 3: 6
Using a for loop
5
2
6
但是我只被要求輸入整數 1(在連續回圈中)
以下是代碼:-
#!/usr/bin/env python2
import sys
target_int = raw_input("How many integers?")
try:
target_int = int(target_int)
except ValueError:
sys.exit("You must enter an integer")
ints = list()
count = 0
while count < target_int:
new_int = raw_input("Please enter integer {0}:".format(count 1))
isint = False
try:
new_int = int(new_int)
except:
print("You must enter an integer")
if isint == True:
ints.append(new_int)
count = 1
print("Using a for loop")
for value in ints:
print(str(value))
~
uj5u.com熱心網友回復:
如前所述,您的主要問題是您沒有設定isint. 但無論如何你都不應該這樣做,因為你已經投了進去try。因此,如果您達到此代碼,它必然是一個int. 其他 2 件小事是,我在 Python 3 中運行,因為它是 14 年前發布的,所以raw_input也是,并且養成使用而不是input初始化串列的習慣是很好的。它有時會更快,而且永遠不會慢。[]list()
這是作業代碼:
import sys
target_int = input("How many integers?")
try:
target_int = int(target_int)
except ValueError:
sys.exit("You must enter an integer")
ints = []
count = 0
while count < target_int:
new_int = input("Please enter integer {0}:".format(count 1))
try:
new_int = int(new_int)
except ValueError:
print("You must enter an integer")
continue # so it doesn't try to append
# No need to check isint. It is.
ints.append(new_int)
count = 1
print("Using a for loop")
for value in ints:
print(str(value))
另一個小的改進是完全避免count,因為它總是ints已經的長度。
import sys
target_int = input("How many integers?")
try:
target_int = int(target_int)
except ValueError:
sys.exit("You must enter an integer")
ints = []
while len(ints) < target_int:
new_int = input("Please enter integer {0}:".format(len(ints) 1))
try:
ints.append(int(new_int))
except ValueError:
print("You must enter an integer")
print("Using a for loop")
for value in ints:
print(str(value))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/462976.html
標籤:Python for循环 整数 python-2.x
