python - 如何停止列表,用户输入缺少数字
问题描述
我正在做这个练习:
在您的主函数中,您需要不断要求用户输入一个整数,然后将这些整数存储在一个列表中。一旦用户决定停止输入,该函数应该打印出列表中的所有整数,并找到该列表中的最大数字。如果用户没有输入任何数字,您应该打印出“您的列表为空”。
我试图对其进行编码,但我被困在打印“您的列表为空”上。我不知道该把声明放在哪里。
当用户输入数字时,列表会丢失用户输入的第一个数字。
def main():
user_list = []
user_num = input('Enter an integer or enter x to stop: ')
while user_num != 'x':
user_num = input('Enter an integer or enter x to stop: ')
if user_num != 'x' :
user_list.append(user_num)
if user_list == []:
print('Your List is empty')
exit()
index = 0
while index < len(user_list):
user_list[index] = int(user_list[index])
index += 1
print ('Here is the list of the numberyou entered:')
print (*user_list, sep = '\n')
largest = max(user_list)
print ('The largest number in your listis: ',largest)
main()
解决方案
简单,改变:
while user_num != 'x':
user_num = input('Enter an integer or enter x to stop: ')
if user_num != 'x' :
user_list.append(user_num)
if user_list == []:
print('Your List is empty')
exit()
到:
while True:
user_num = input('Enter an integer or enter x to stop: ')
if user_num != 'x' and user_num:
user_list.append(user_num)
elif not user_list:
print('Your List is empty')
exit()
else:
break
这是优化后的代码:
def main():
user_list = []
while True:
user_num = input('Enter an integer or enter x to stop: ')
if user_num != 'x' and user_num:
user_list.append(int(user_num))
elif not user_list:
print('Your List is empty')
exit()
else:
break
print ('Here is the list of the numbers you entered:')
print (*user_list, sep = '\n')
largest = max(user_list)
print ('The largest number in your list is: ', largest)
main()
推荐阅读
- sweetalert2 - Sweetalert 不适用于 IE 11,适用于 FireFox、Chrome
- javascript - I get "ReferenceError: window is not defined" even though I check for window
- oracle - OracleDUMP 文件 (.datp) 问题
- node.js - socket.io - .on not working on client side
- google-apps-script - "Bad Request" error for chromeosdevices.list
- java - org.w3c.dom.Element setAttribute("xlink:href", 文件名)
- keras - 如何在嵌入层固定特定权重
- c# - C# CurlSharp EasyGet - 如何获取字符串结果
- c# - 在 C# 中使用 php 'mt_rand' 函数
- amazon-elasticache - 连接到 AWS Elasticache 时,建议使用什么 Redisson 配置来避免超时?