繁体   English   中英

如何使用 for 循环/范围来结束 Python 中的特定字符输入?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM