python - 我如何允许用户输入 6 位数字而不是 4 位

标签 python numbers

我的代码当前允许用户输入 4 个数字,我想允许 6 个数字,我该怎么做,我尝试将 < 4 编辑为 6,但我完全无法理解它,我也想要用户如果愿意的话只能输入 4 个数字,但我需要程序要求 6 个

    import itertools
    nums = []

    while len(nums) < 4:
try:
    num = int(input("Enter a number:"))
    if num not in range(10):
        raise ValueError
    else:
        nums.append(num)
except ValueError:
    print("Only integers 0-9 allowed!")

for x in itertools.permutations(nums):
print(''.join(str(n) for n in x)) `

最佳答案

这是一种实现我认为您想要实现的目标的方法(不是最优雅,但仍然是):

nums = []
print('You need to enter minimum 4 digits and upto 6')
while len(nums) < 6:
    try:
        num = int(input("Enter a digit 0-9:"))
        if num not in range(10):
            raise ValueError
        else:
            nums.append(num)
            if 3 < len(nums) < 6:
                if input("Add more digits? [y/n]") != 'y':
                    break
    except ValueError:
        print("Only integers 0-9 allowed!")

print(nums)

您可以通过提供停止选项来修改基于 len(nums) 的数字输入请求,这样用户感觉更好,尽管它需要更多的编码。

关于python - 我如何允许用户输入 6 位数字而不是 4 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59213165/

相关文章:

javascript - 我可以在 Javascript 中将一个变量的值转移到另一个变量吗

java - 扩大数字范围

mysql - mysql中数字的反转

python - 在python中将像year biyear这样的字符串转换为整数

python - Numpy函数获取添加数组的形状

python - 只创建一个 zip 包而不是每个文件的校验和就足够了吗

Javascript - 如何将一个数字的所有第一位和最后一位数字相加,直到只剩下两位数字?

python - 如何在 python 中有效地使用 JIT 和 mpmath/gmpy?

python - 使用 ZooKeeper 管理正在处理或已处理的任务

generics - 既然 num::Zero 和 One 已被弃用,应该如何提供 1 或 0?