列表未输入第一个输入
list not entering first input
我是菜鸟,我正在研究这个 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()
那是因为你从来没有把它放在那里。
def ask():
user_input = raw_input("Enter a number: ")
user_input_array = [user_input] # Create the list with the original input
...
有了上面的内容,用户输入的第一个东西在创建列表的时候就放在了列表中。您可能需要在此之前进行检查
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()
您没有将初始输入添加到数组中。相反,您进入循环并要求另一个输入并检查然后将其添加到数组中。您应该要求循环内的所有输入,因为这意味着您只需要一个 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
函数会告诉你。
我是菜鸟,我正在研究这个 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()
那是因为你从来没有把它放在那里。
def ask():
user_input = raw_input("Enter a number: ")
user_input_array = [user_input] # Create the list with the original input
...
有了上面的内容,用户输入的第一个东西在创建列表的时候就放在了列表中。您可能需要在此之前进行检查
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()
您没有将初始输入添加到数组中。相反,您进入循环并要求另一个输入并检查然后将其添加到数组中。您应该要求循环内的所有输入,因为这意味着您只需要一个 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
函数会告诉你。