Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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
Python 如何仅打印包含数字7的数字?_Python - Fatal编程技术网

Python 如何仅打印包含数字7的数字?

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 ... 将类型转换为字符串将允许您检查数字/字符串

我对编程相当陌生。如何仅打印包含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 ... 将类型转换为字符串将允许您检查数字/字符串中是否存在特定字符。这不是一个理想的解决方案,但它是一个快速而简单的解决问题的方法。因为您似乎是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))