
python如何输入数字列表
用户关注问题
我想让用户输入一串数字,然后把它们存储为Python中的数字列表,该怎么做?
使用split()和列表推导式处理输入字符串
可以使用input()函数接收用户输入的字符串,然后用split()方法将字符串拆分成多个子字符串,最后通过列表推导式将这些子字符串转换成整数或浮点数。示例代码如下:
input_str = input('请输入数字(用空格分隔):')
number_list = [int(num) for num in input_str.split()]
print(number_list)
这样输入“1 2 3 4”就会得到数字列表[1, 2, 3, 4]。
如何确保用户输入的都是数字,并避免转换时发生异常?
使用异常处理和输入验证保证输入有效
在将输入转换为数字之前,可以通过try-except语句来捕获转换中的异常,提示用户重新输入。另外,也可以使用循环不断要求用户输入有效的数据。例如:
while True:
input_str = input('请输入数字列表(用空格分隔):')
try:
number_list = [int(num) for num in input_str.split()]
break
except ValueError:
print('输入包含非数字字符,请重新输入。')
print('您输入的数字列表是:', number_list)
如果用户输入的数字用逗号分开,该怎么处理才能得到数字列表?
对输入字符串使用split(',')并去除空白字符
可以在split()中指定逗号作为分隔符,将字符串拆分后再用strip()去除每个元素前后的空白,再转换为数字。例如:
input_str = input('请输入用逗号分隔的数字:')
number_list = [int(num.strip()) for num in input_str.split(',')]
print(number_list)
输入“10, 20,30”就会得到列表[10, 20, 30]。