[英]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.