【问题标题】:How to limit input integer in single digit? [python] [duplicate]如何将输入整数限制为个位数? [蟒蛇] [重复]
【发布时间】:2021-01-17 21:01:55
【问题描述】:

将此代码整数输入限制为单个数字的最简单方法是什么?

num = ["First","Second","Third"]
num_list = []
for a in num:
    x = int(input(f"Enter Your {a} number: "))
    num_list.append(x)

for i in range(0,3):
    for j in range(0,3):
        for k in range(0,3):
            if(i!=j&j!=k&k!=i):
                print(num_list[i],num_list[j],num_list[k])

【问题讨论】:

    标签: python


    【解决方案1】:

    只是一个快速修复

    def get_single_digit_input():
        while True:
            a = input('please enter number')
            if not a.isnumeric():
                print('please enter single digit Numeric only')
                continue
            a = int(a)
            # your logic is here
            if a<=9 and a>=0:
                return a
            else:
                print('please enter single digit Numeric only')
    
    a = get_single_digit_input()
    

    【讨论】:

    • 当我将a 作为输入时,这不会失败吗?
    • 是的,我已经提到这是一个快速修复,只需使用 .isnumeric() 检查输入
    【解决方案2】:

    您可以使用 while 语句进行检查。如果输入不是单个数字,则将其强制返回输入语句。您还想检查输入是否是数字而不是字母或特殊字符。

    这是一种方法:我在 python 3.9 中使用海象运算符

    while len(x:=input('Enter a single digit :')) > 1 or (not x.isnumeric()):
        print ('Enter only a single digit')
    print (x)
    

    如果你使用的是python

    x = ''
    while True:
        x = input ('Enter a single digit :')
        if (len(x) == 1) and (x.isnumeric()): break
        print ('Enter only a single digit')
    print (x)
    

    【讨论】:

      猜你喜欢
      • 2020-08-24
      • 2017-05-30
      • 1970-01-01
      • 2020-06-05
      • 2020-11-14
      • 2020-06-29
      • 1970-01-01
      相关资源
      最近更新 更多