[英]How to use a for-loop/range to end a specific character input in Python?
如果用户输入的不是整数,则应将其忽略,而如果是整数,则应将其添加到lst
(列表)
该函数应该显示整数列表,忽略任何不是整数的内容并显示最大和最小数。
lst = []
n = int(input("Enter Integers: "))
for index in range(min(n), max(n)):
if index == ' ':
return
for i in range(min(n),max(n)):
elements = int(input())
lst.append(elements)
print(lst)
print(len(lst))
for num in lst:
if num % 2 == 0:
print(num, end= ' ')
我在这里有一个函数,它提示用户输入一个整数列表,如果输入了空格:它应该结束输入。
我对 python 很陌生,不知道如何处理这段代码。
表达方式
input("Enter Integers: ")
计算结果为字符串。 由于要读取字符串直到插入空格,因此需要一个无限循环:
numbers = []
while True:
value = input("Enter an integer: ")
如果用户提供了空格,请停止阅读数字:
numbers = []
while True:
value = input("Enter an integer: ")
if value == ' ':
# Exit the loop
break
如果要将其转换为整数,请使用int
函数并将其附加到numbers
:
numbers = []
while True:
value = input("Enter an integer: ")
if value == ' ':
break
numbers.append(int(value))
如果用户提供的值不是数字,您还可以添加验证:
numbers = []
while True:
value = input("Enter an integer: ")
if value == ' ':
break
try:
number = int(value)
except ValueError:
print('The value is not a number!')
# Continue looping
continue
numbers.append(number)
您的代码有些误导,并增加了问题的混乱。 我下面的解决方案基于代码之前的问题。
lst = []
print("Enter Integers:")
while True:
n = input()
try:
# Try converting to an int, if can't ignore it
lst.append(int(n))
except ValueError:
pass
# If space input, break the loop
if n == ' ':
break
print("Integer list: ")
print(lst)
if len(lst) > 0:
print("Min: " + str(min(lst)))
print("Max: " + str(max(lst)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.