三角程序代码

时间:2014-10-04 12:37:54

标签: python

我前几天正在制作一个程序,用于输出以下输出程序:

1
22
333
4444
55555

当我找到this snippet of code时,我正在网上研究这个问题:

n=input('Enter a number')
for i in range(1,n+1):
    print str(i)*i

它产生了我想要的输出,但是我无法理解最后一行说

str(i)*i

为什么str?我在代码中看不到字符串?请有人向我解释一下吗?我不想写一些我不理解的代码。

3 个答案:

答案 0 :(得分:2)

str()将整数i转换为字符串对象。将字符串与整数相乘会产生重复的字符串,而乘以整数会产生不同的整数:

>>> i = 5
>>> 5 * 5
25
>>> str(5)
'5'
>>> str(5) * 5
'55555'

所以5 * 525,但'5' * 5'55555'

答案 1 :(得分:0)

在代码中它使用str,因为如果它是一个整数,它将被乘以然后打印如下:

>>> i = 4
>>> i * i
16

但如果它str它会打印i次:

>>> str(i) * i
'4444'

答案 2 :(得分:0)

str()只是返回字符串对象。因此,如果你乘以字符串,它将重复你的字符串,对于整数,它将执行数学运算。