在 Python 中从用户输入中获取整数列表
Take a list of integers from user Input in Python
从用户输入中获取整数列表:
- 声明一个新变量并将其初始化为一个空列表。
- 使用
range()
该类在一个for
循环中循环N次。 - 将每个字符串转换为整数并将整数附加到列表中。
主程序
list_of_integers = [] for _ in range(3): try: list_of_integers.append(int(input('Enter an integer: '))) except ValueError: print('The provided value is not an integer') print(list_of_integers)
for
循环迭代 3 次。在每次迭代中,我们从用户那里获取输入,将值转换为整数并将整数附加到列表中。
list.append
()
方法将一个项目添加到列表的末尾。
我对变量名使用了下划线,因为我们不需要访问它。
输入函数接受一个可选prompt
参数并将其写入标准输出而没有尾随换行符。
然后该函数从输入中读取该行,将其转换为字符串并返回结果。
该
input()
函数保证返回一个字符串,即使用户输入一个整数。我们使用了一个try/except
语句来处理如果使用一个不是有效整数的值调用类时ValueError
引发的。int()
另一种方法是要求用户输入多个以空格或逗号分隔的整数,并在分隔符上拆分字符串。
使用 str.split() 从用户输入中获取整数列表
从用户输入中获取整数列表:
- 使用
input()
函数从用户那里获取输入。 - 使用该
str.split()
方法在每个空格上拆分字符串。 - 使用列表理解将列表中的每个字符串转换为整数。
主程序
user_input = input('Enter space-separated integers: ').split() list_of_integers = [int(item) for item in user_input] print(list_of_integers)
str.split ()
方法使用定界符将字符串拆分为子字符串列表。
当没有分隔符传递给该
str.split()
方法时,它会将输入字符串拆分为一个或多个空白字符。主程序
print('1 5 10'.split()) # 👉️ ['1', '5', '10']
我们使用列表理解来迭代字符串列表。
主程序
user_input = input('Enter space-separated integers: ').split() list_of_integers = [int(item) for item in user_input] print(list_of_integers)
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们将当前列表项传递给int()
类以将其转换为整数。
使用 while 循环从用户输入中获取整数列表
从用户输入中获取整数列表:
- 声明一个新变量并将其初始化为一个空列表。
while
只要满足一个条件,就使用循环进行迭代。- 将每个字符串转换为整数并将整数附加到列表中。
主程序
list_of_integers = [] user_input = '' while len(list_of_integers) < 3: try: user_input = int(input('Enter an integer: ')) list_of_integers.append(user_input) except ValueError: print('Enter a valid integer') continue print(list_of_integers)
我们使用while
循环提示用户输入整数值 3 次。
该continue
语句用于继续循环的下一次迭代。
如果块中的代码
try
引发 a ValueError
,则except
块运行,我们使用该continue
语句继续下一次迭代。在while
循环中验证用户输入时,我们continue
在输入无效时使用该语句。
或者,您可以使用while True
带有break
语句的循环。
主程序
list_of_integers = [] user_input = '' while True: if len(list_of_integers) >= 3: break try: user_input = int(input('Enter an integer: ')) list_of_integers.append(user_input) except ValueError: print('Enter a valid integer') continue print(list_of_integers)
该if
语句检查列表的长度是否等于或大于 3。
如果满足条件,我们使用break
语句退出循环。
break
语句跳出最内层的封闭或
for
循环while
。
从用户输入中获取一个二维整数列表
从用户输入中获取二维整数列表:
- 使用
for
循环迭代 N 次。 - 使用该
input()
函数从用户那里获取多个输入。 - 使用
int()
该类将值转换为整数。 - 将输入值添加到列表并将该列表附加到原始列表。
主程序
list_of_lists = [] user_input = '' for _ in range(2): user_input_1 = int(input('Enter an integer: ')) user_input_2 = int(input('Enter another integer: ')) list_of_lists.append([user_input_1, user_input_2]) print(list_of_lists)
我们用一个for
循环迭代了2次。
在每次迭代中,我们将用户输入 2 次并将值转换为整数。
最后,我们将值放在一个列表中并将该列表附加到另一个列表。