[英]Loop through variable in python
請原諒我...... python的新手和堆棧上的第一個問題。
我正在嘗試使用 while 循環完成兩件事:
變量:
round_number = 0 水果 = [蘋果、橙子、香蕉]
蟒蛇代碼:
while round_number < 5:
round_number += 1
print("Round Number: ", round_number)
for item in fruit:
print(item)
上面的代碼是我目前擁有的。 當我運行代碼時,它會立即打印我的 fruit 變量中的所有項目。
我想要的輸出是打印輸出如下所示:
輪數:1個蘋果
輪數:2個橙子
等等...
你可以用enumerate
做到這一點:
fruit = ['apple', 'orange', 'banana']
for n, f in enumerate(fruit, start=1):
print(f'Round Number: {n} {f}s')
輸出:
Round Number: 1 apples
Round Number: 2 oranges
Round Number: 3 bananas
最好使用索引而不是計數器。
嘗試獲取列表中項目的索引,然后添加 1。然后將字符串連接在一起以進行打印
for x in fruit:
print('Round Number: ' + str(fruit.index(x)+1), x)
除非您使用異步的東西,否則事情將按照它們編寫的順序發生。 第一個循環完全執行,然后第二個循環完全執行。
這就是為什么你會得到這樣的輸出
Round Number: 1
Round Number: 2
Round Number: 3
Round Number: 4
Round Number: 5
apple
orange
banana
如果要在列表中輸出變量的索引,然后是變量,則需要在單個循環中執行此操作。
你開始學習的方法看起來像這樣
fruit = ['apple', 'orange', 'banana']
for i in range(len(fruit)):
print(i+1, fruit[i])
但是,執行此操作的 pythonic 方法將使用 enumerate 方法
for i, fruitName in enumerate(fruit):
print(i+1, fruitName)
習慣字符串格式也很好
for i, fruitName in enumerate(fruit):
print(f'{i+1}: {fruitName}')
您必須自定義 enumerate 函數以從 1 開始數字
for i, item in enumerate(fruits, start=1):
print(i, item)
或者,您可以使用 for 循環
for i, item in range(len(fruit)):
print(i+1, fruit[i])
如果您必須使用while 循環,那么您可以這樣編寫代碼:
fruit = ['apple', 'orange', 'banana']
round_number = 0
while round_number < len(fruit):
round_number += 1
print("Round Number: ", round_number, fruit[round_number-1])
對於for循環,您的代碼將是:
fruit = ['apple', 'orange', 'banana']
round_number = 0
for item in fruit:
print("Round Number: ", fruit.index(item)+1, item)
希望這有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.