为什么这段代码不返回(或打印)列表的0索引?
N = int(input())
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
for i in range(N):
print(letters[i]*i)
输出:应该是:
A
BB
CCC
DDDD
EEEEE
FFFFFF
GGGGGGG
但是我得到了这个,没有"A":
B
CC
DDD
EEEE
FFFFF
GGGGGG
因为i从0开始计数
如果你输入:
for i in range(10):
print(i)
你会看到:
0
1
2
3
4
5
6
7
8
9
如果你想从1数到N而不是从0数到N-1,输入:
print(letters[i]*(i+1))
因为0乘以list不会打印它。您需要添加1.
N = int(input())
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
for i in range(N):
print(letters[i]*(i+1))
for i in range
从0开始。然后尝试执行
print(letters[i]*i)
在索引0处,这转换为
print(letters[0]*0)
由于结果字符串乘以0,因此不输出任何内容。正如其他评论者指出的那样,将i
更改为i + 1
将解决此问题。
I从0开始。所以你需要:
for i in range(N):
print(letters[i]*(i+1))