Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python3中打印不同的数字_Python_Python 3.x - Fatal编程技术网

在Python3中打印不同的数字

在Python3中打印不同的数字,python,python-3.x,Python,Python 3.x,我有下面的代码来打印不同的数字,但我试图在处理之前检查输入,应该是只有一个空格的十位数字。 我试了又试,但还是不明白: def main(): list1 = input("Enter ten numbers: ").split() set1 = set(list1) print(set1) list2 = list(set1) string = string.join(list2) print("The distinct numbers are:

我有下面的代码来打印不同的数字,但我试图在处理之前检查输入,应该是只有一个空格的十位数字。 我试了又试,但还是不明白:

def main():
    list1 = input("Enter ten numbers: ").split()
    set1 = set(list1)
    print(set1)
    list2 = list(set1)
    string = string.join(list2)
    print("The distinct numbers are: " + str(string))

main()

你的意思是检查是否有十个数字输入

import re

def check_input(input_string):
     compare_to = '\s'.join(10*['\d+'])
     if re.match(compare_to[:-1], input_string):
           return True
     return False

这是一个,它检查输入字符串是否等于指定的输入格式。此选项专门检查是否在10组至少1个数字[\d+]之间添加了一个空格

使用内置字符串的isnumeric方法的更简单版本。此外,我在输入周围放置了一个循环,以便用户在出现错误数据时可以轻松重试:

def main():
    while(True):
        numbers = input("Enter ten space-separated numbers: ").split()
        if len(numbers) != 10 or not all(n.isnumeric() for n in numbers):
            print("Wrong input, please retry")
            continue
        numbers = ' '.join(set(numbers))
        print("The distinct numbers are:", numbers)
        break # or return numbers if you need the data

main()

在处理之前检查输入是什么意思?只有一个空格的十位数字:split将删除所有空格。然后检查长度以及它们是否是数字。@chrisz我的意思是,如果用户输入了错误的值,请尝试捕捉