我是菜鸟,我正在研究这个python项目,我不能在用我的代码数组中输入用户输入的第一个输入。提前致谢 这是我的代码:
def ask():
user_input = raw_input("Enter a number: ")
user_input_array = []
count = 0
quits = 'done'
while user_input != quits:
user_input = raw_input("Enter a number: ")
try:
if type(user_input) == str:
num = int(user_input)
user_input_array.append(num)
count = count + 1
except:
print("Invalid input")
while user_input == quits:
#user_input_array.remove('done')
print ("done")
print ('Count: ', count)
print (user_input_array)
break
ask()
答案 0 :(得分:1)
那是因为你从未把它放在那里。
def ask():
user_input = raw_input("Enter a number: ")
user_input_array = [user_input] # Create the list with the original input
...
使用上述内容,创建列表时,用户输入的第一个内容将放在列表中。您可能希望在此之前进行检查
答案 1 :(得分:0)
def ask():
user_input = raw_input("Enter a number: ")
user_input_array = []
count = 0
quits = 'done'
while user_input != quits:
user_input = raw_input("Enter a number: ")
try:
if type(user_input) == str:
num = int(user_input)
user_input_array.append(num)
count = count + 1
except:
if user_input == quits:
#user_input_array.remove('done')
print ("done")
print ('Count: ', count)
print (user_input_array)
else:
print("Invalid input")
ask()
答案 2 :(得分:0)
您不会将初始输入添加到数组中。而是进入循环并请求另一个输入并检查然后将其添加到数组。您应该在循环中询问所有输入,因为这意味着您只需要一个raw_input
和一个检查完成值。
执行此操作的常用方法是进入无限循环,仅在读取值done
时退出。像这样
def ask():
user_input_array = []
while True:
user_input = raw_input("Enter a number: ")
if user_input == 'done':
break
try:
user_input_array.append(int(user_input))
except ValueError:
print("Invalid input")
print ("done")
print ('Count: ', len(user_input_array))
print (user_input_array)
ask()
请注意,这样可以实现所需的效果而不会重复。您也不需要计算添加的元素数量,因为列表中有一个len
函数可以告诉您。