在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我的意思是,如果用户输入了错误的值,请尝试捕捉