簡體   English   中英

在python中循環變量

[英]Loop through variable in python

請原諒我...... python的新手和堆棧上的第一個問題。

我正在嘗試使用 while 循環完成兩件事:

  1. 增加整數(我成功地做到了)
  2. 讓循環遍歷我的變量“fruits”以在第一輪打印第一個水果,在第二輪打印第二個水果

變量:

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.

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