如何打印索引0的列表,与for循环?



为什么这段代码不返回(或打印)列表的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))

最新更新