我想知道如何列出所有包含某个数字的数字(通过输入),我该怎么做?
我已经尝试过查看StackOverflow,并尝试了答案中的一些代码,但是它没有用,我相信我做错了什么,请帮忙?
我的代码:
a = int(input("Search for: "))
b = int(input("In range up to: "))
numbers = range(0, b)
expected_numbers = [i for i in numbers if a in str(i)]
print(expected_numbers)
这是我收到的错误消息:
Traceback (most recent call last):
File "program.py", line 4, in <module>
expected_numbers=[i for i in numbers if a in str(i)]
File "program.py", line 4, in <listcomp>
expected_numbers=[i for i in numbers if a in str(i)]
TypeError: 'in <string>' requires string as left operand, not int
感谢您的帮助。
答案 0 :(得分:2)
在这里。
<stdbool.h>
实际上,您将“ a”作为整数。休息一切正确。
如果要打印它,而不仅仅是修改最后一行。
a = input()
b = int(input())
expected_numbers = [i for i in range(b) if a in str(i)]
print(expected_numbers)
您将获得理想的结果。
答案 1 :(得分:1)
只是一个小错误,请将变量a
转换为str
。
`expected_numbers = [i for i in range(b) if str(a) in str(i)]`
也PS:使用此link了解StackOverflow上的格式化选项。 :)