为Python中的无效输入创建错误消息

发布于 2025-01-28 16:34:32 字数 885 浏览 2 评论 0原文

我一直在尝试创建一个从用户输入创建列表的程序。当列表的长度大于九(9)时,该程序旨在向用户输入提供错误消息

:例如: “请从0-100输入九(9)个数字:”

输入 4 5 6 7 8 9 输出 对不起!数字应高达九个。

或者 输入 5 67 8 2 90 65 3 45 2 7 1 0 “抱歉!数字不应超过九个。”

我的代码:

number = []
while True:
    num =  input("Please type numbers: ")
    num = list(map(int, num.split()))
    number.append(num)
    if len(number) > 9:
        print ("Numbers should not be more than 9!")
    
    else:
        break

print (number)

我不知道我在做什么错。

number = []
num = input("Please type numbers: ")
num = list(map(int, num.split()))
number.append(num)
while True:

    if (len(number)) == 7:
        print ("List is complete")
    elif (len(number)) < 7:
        print ("List is not complete")
    else:
        print ("List is more than 7")
    break

当我不要求用户输入时,此代码正常工作。 但是它带回了输出 每当我不考虑字符串的长度时,“列表还不完整”。

I have been trying to create a program that creates a list from user input. The program is meant to give an error message to the user input when the length of the list is more or less than nine (9)

For example:
"Please enter nine (9) numbers from 0 - 100: "

input
4 5 6 7 8 9
output
Sorry! Numbers should be up to nine.

or
input
5 67 8 2 90 65 3 45 2 7 1 0
"Sorry! Numbers should not be more than nine."

my code:

number = []
while True:
    num =  input("Please type numbers: ")
    num = list(map(int, num.split()))
    number.append(num)
    if len(number) > 9:
        print ("Numbers should not be more than 9!")
    
    else:
        break

print (number)

I don't know what I am doing wrong.

number = []
num = input("Please type numbers: ")
num = list(map(int, num.split()))
number.append(num)
while True:

    if (len(number)) == 7:
        print ("List is complete")
    elif (len(number)) < 7:
        print ("List is not complete")
    else:
        print ("List is more than 7")
    break

this code works fine when I'm not asking for user input.
However it brings back the output
"List is not complete" whenever I run it without regard for the length of the string.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

此生挚爱伱 2025-02-04 16:34:32

您的代码在列表中创建一个列表,例如

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]]

以解决此问题,您只需要替换number.Append(num) by number = num或直接使用这样的可变数字

num = input("Please type numbers: ")
num = list(map(int, num.split()))


while True:

    if (len(num)) == 7:
        print ("List is complete")
    elif (len(num)) < 7:
        print ("List is not complete")
    else:
        print ("List is more than 7")
    break

Your code creates a list within a list, like this

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]]

to solve this problem, you just have to replace number.append(num) by number = num or simply use directly the variable num like this

num = input("Please type numbers: ")
num = list(map(int, num.split()))


while True:

    if (len(num)) == 7:
        print ("List is complete")
    elif (len(num)) < 7:
        print ("List is not complete")
    else:
        print ("List is more than 7")
    break

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文