Python 如何仅打印包含数字7的数字?
我对编程相当陌生。如何仅打印包含7、777的数字 我的代码是:Python 如何仅打印包含数字7的数字?,python,Python,我对编程相当陌生。如何仅打印包含7、777的数字 我的代码是: for number in range(1000): if 7 in number: print(number) 我收到的错误是TypeError:int类型的参数不可编辑将数字转换为字符串,然后检查strnumber中是否有7 对于1000范围内的数字: 如果strnumber中为“7”: 打印号码 7. 17 27 37 47 57 67 70 71 ... 将类型转换为字符串将允许您检查数字/字符串
for number in range(1000):
if 7 in number:
print(number)
我收到的错误是TypeError:int类型的参数不可编辑将数字转换为字符串,然后检查strnumber中是否有7 对于1000范围内的数字: 如果strnumber中为“7”: 打印号码 7. 17 27 37 47 57 67 70 71 ... 将类型转换为字符串将允许您检查数字/字符串中是否存在特定字符。这不是一个理想的解决方案,但它是一个快速而简单的解决问题的方法。因为您似乎是StackOverflow/编程新手。in运算符仅适用于序列,即具有多个元素的数据类型,如字符串、列表、字典或元组 您使用的是一个整数,它是一个单一的数字,而不管它以十进制表示有多少位 如果您首先将数字转换为字符串,您仍然可以让我们加入,如下所示
for number in range(1000):
s = str(number)
if '7' in s:
print(s)
出现此错误是因为在Python中数字是不可编辑的。您不能直接迭代它们。创建字符串或字符列表,然后搜索字符“7”
for number in range(1000):
strNum = str(number)
if '7' in strNum:
print(number)
请在评论中寻求帮助
很乐意帮忙 您可以创建一个生成函数,如果它包含所需的数字,则生成当前数字。确保使用str将整数值强制转换为字符串 !/usr/bin/env蟒蛇3 def包含_numbern,最大值=10: 对于rangemax中的数字: 如果strn为strn编号: 产量 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 打印列表包含编号7,1000
除打印外,不涉及将数字转换为字符串的解决方案:
for a in range(10):
for b in range(10):
for c in range (10):
for d in range(10) if 7 in (a,b,c) else [7]:
print("%d%d%d%d" % (a,b,c,d))
其思想是循环所有可能的前3位数字;如果这些都不是7,请使用7作为最后一个数字,否则您可以使用包括7在内的任何数字。打印*7'*i表示范围4中的i似乎更有效…您必须准确地说明包含7的含义。提示:数字没有数字;在特定的基do中使用字符串表示。即使这样做有效,也会非常低效。如果要打印仅包含7的数字,则不需要检查所有数字。仅包含7的数字或仅包含7的数字?为了说明@chepner的观点:仅包含7的数字的正常解释将包括例如17、73和5378
for a in range(10):
for b in range(10):
for c in range (10):
for d in range(10) if 7 in (a,b,c) else [7]:
print("%d%d%d%d" % (a,b,c,d))