Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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
使用嵌套for循环python 3.x的直角三角形_Python_Python 3.x - Fatal编程技术网

使用嵌套for循环python 3.x的直角三角形

使用嵌套for循环python 3.x的直角三角形,python,python-3.x,Python,Python 3.x,我试图输出一个带数字的直角三角形。以下是我到目前为止的情况: for i in range(1, 10): for j in range(i): print(i, end='') print() 我的输出是 1 22 333 4444 55555 666666 7777777 88888888 999999999 我的问题是。我可以使用嵌套的for循环按顺序运行这些数字吗 例如: 我试过其他6组,大部分都得到相同的输出或多个错误。有人能帮我解决这个问题吗?j不仅仅是一个计数器

我试图输出一个带数字的直角三角形。以下是我到目前为止的情况:

for i in range(1, 10):
    for j in range(i):
    print(i, end='')
print()
我的输出是

1
22
333
4444
55555
666666
7777777
88888888
999999999
我的问题是。我可以使用嵌套的for循环按顺序运行这些数字吗 例如:


我试过其他6组,大部分都得到相同的输出或多个错误。有人能帮我解决这个问题吗?

j
不仅仅是一个计数器:

for i in range(1, 10):
    for j in range(i):
        print(j + 1, end='')
    print()

你可能想考虑下一步会发生什么吗?这给了你一些想法

import itertools

for i in range(1, 21):
    cycle = itertools.cycle([1,2,3,4,5,6,7,8,9,0])
    for j in range(i):
        print(next(cycle), end="")
    print()
这将通过数字循环,给出如下输出:

1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
1234567890123456789
12345678901234567890
或者:

for i in range(1, 21):
    for j in range(i):
        print(((j % 10) + 1) % 10, end="")
    print()

这很好。就像我说的,我对这门语言还是新手,现在我在你的书中看到,0实际上正在出现。这是怎么回事?因为每当我尝试将0作为范围的一部分运行时,我总是从1开始,而不是从0开始,就像我尝试第一个示例只是循环数字一样,第二个示例使用
%
模运算符给出余数,例如
12%10=2
0%10=0
,因此,添加1,它将从
1
循环到
10
,另一个
%
将使它从
1
循环到
0
。我正准备发回给你,我已经计算出了这一部分。非常感谢你在这方面的帮助,现在它开始变得更有意义了。那么出于好奇,为什么当我尝试在步进计数中运行一组更高的数字,即10 11 12 13 14 15 16 17 18 19时,我试图改变变量,但要么像以前一样得到精确的打印,要么打印出来只有0。可能需要建立某种类型的库?还不知道怎么读,但明天我会再读一些书,等我有机会对你的订阅失败提出道歉时,我发现我的问题出在哪里了。在疯狂地开发循环代码的过程中,我一时冲动,忘了在最后的等式中添加高度变量。一旦输入完毕,它马上就开始了。谢谢你的帮助,我可以看到我需要重读的地方了。我错过了很多章节
for i in range(1, 21):
    for j in range(i):
        print(((j % 10) + 1) % 10, end="")
    print()