代码:
n = int(input("Type n: "))
def some_function(n):
numbers, numbers_sum = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0], 45
while True:
digit = n % 10
n //= 10
if digit in numbers:
numbers.remove(digit)
numbers_sum -= digit
else:
break
return numbers_sum
print(some_function(n))
程序需要打印输入中未找到的数字的总和。
我介绍了当数字不重复时的场景,对于这个场景,如果输入为234567890,则输出为1。但是,当数字重复出现时,不要对情景有任何想法。等。如果输入为22334567890或223344556677889900,则输出仍然需要为1,但不是。
还有,我不能用绳子。我知道0没有什么区别,因为我们正在使用-和。
更简单的方法是将其转换为字符串并执行集合操作
>>> n=22334567890
>>> numbers=set("123456789")
>>> numbers-set(str(n))
{'1'}
>>>
然后转化回整数
>>> sum(map(int,{'1'}))
1
>>>
如果不需要字符串转换,只需创建一个函数,为您提供数字的位数,并执行相同的操作
>>> def digits(n): #this is a generator function
if n==0:
yield 0
while n:
n,d = divmod(n,10)
yield d
>>> n=22334567890
>>> numbers=set(range(10))
>>> numbers
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> list(digits(n))
[0, 9, 8, 7, 6, 5, 4, 3, 3, 2, 2]
>>>
>>> numbers - set(digits(n))
{1}
>>> sum({1})
1
>>>
我正在开发一个程序,它会要求用户输入一个整数,然后输入另一个,并将它们作为图点。然后它会告诉他们之间的距离。用户必须输入一个整数或按“Q”退出。如果它是其他任何东西(不是整数或字母“Q”),它会告诉他们那是不正确的,请再试一次。我以为这就是我可以实现的方法,但它返回错误。非常感谢您的帮助! 如果我没有注释掉最后一个else语句,它就会默认为该语句,并且永远循环我的错误消息。
我有这个JS var,后面跟着这个if语句: 我的问题是,当定义了contratType并且他的值是'Nouvelle Affaire'时,仍然输入if。 我错过什么了吗?
问题内容: 我正在尝试找出如何创建输入验证的方法,在该方法中,您不能两次输入相同的数字,而且不能在数字范围内输入,除非它是整数,否则无法输入任何内容。我目前正在创建彩票程序,不确定如何执行此操作。任何帮助将非常感激。我的数字范围验证有效,而其他两个验证无效。我尝试了非重复号码验证,但我不确定如何执行仅数字验证。有人可以告诉我如何构建此结构。 此方法在我的Player类中 问题答案: 如下进行: 运
我需要检查用户输入的内容是否正确。如果不是,我需要以msgbox的形式打印错误。 上面的代码似乎不起作用。 有什么想法吗?
我是一个学生,我有一个小问题验证输入。 我试过的是把字符串解析成double的测试,但我做不到。我不知道如何测试双倍是否只是数字。 请给我一个我该做什么的线索。
当前正在编辑代码以创建跳过列表,我正在尝试读取一个文件,其中包含需要插入、搜索或删除的数据(分别由i、s、d表示)。 当试图运行它时,我被抛出数字格式异常,当它在catch语句中打印堆栈跟踪时,它看起来好像没有读取第一个字符,应该是“i”。 以下是我的主代码当前的样子,因为这似乎就是问题所在 这是我的示例输入数据文本文件的样子 当它运行并吐回堆栈跟踪时,它会说 所以我现在猜测,出于某种原因,当50