我前几天正在制作一个程序,用于输出以下输出程序:
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
?我在代码中看不到字符串?请有人向我解释一下吗?我不想写一些我不理解的代码。
答案 0 :(得分:2)
str()
将整数i
转换为字符串对象。将字符串与整数相乘会产生重复的字符串,而乘以整数会产生不同的整数:
>>> i = 5
>>> 5 * 5
25
>>> str(5)
'5'
>>> str(5) * 5
'55555'
所以5 * 5
为25
,但'5' * 5
为'55555'
。
答案 1 :(得分:0)
在代码中它使用str
,因为如果它是一个整数,它将被乘以然后打印如下:
>>> i = 4
>>> i * i
16
但如果它str
它会打印i
次:
>>> str(i) * i
'4444'
答案 2 :(得分:0)
str()只是返回字符串对象。因此,如果你乘以字符串,它将重复你的字符串,对于整数,它将执行数学运算。