簡體   English   中英

如何使用 for 循環打印列表的索引 0?

[英]How to print an index 0 of a list, with for loop?

為什么這段代碼不返回(或打印)列表的 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)

output:應該是:

A
BB
CCC
DDDD
EEEEE
FFFFFF
GGGGGGG

但是我得到這個,沒有“A”:

B
CC
DDD
EEEE
FFFFF
GGGGGG

因為 0 次列表不會打印它。 你需要加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(10):
print(i)

你會看到的:

0
1
2
3
4
5
6
7
8
9

如果你想從 1 數到 N 而不是 0 到 N-1,輸入:

print(letters[i]*(i+1))

for i in range從 0 開始。然后它嘗試執行

print(letters[i]*i)

在索引 0 處,這轉化為

print(letters[0]*0)

由於結果字符串乘以零,因此它不輸出任何內容。 正如其他評論者指出的那樣,將i更改為i + 1可以解決此問題。

i 從0開始。所以你需要:

for i in range(N):
    print(letters[i]*(i+1))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM