For 和 While 循环

问题描述 投票:0回答:2

我正在练习 while 循环,我正在尝试想出我在 for 循环中使用的不同公式来做同样的事情,我想知道是否可以这样做。

Database=["Akaki","Salome","Giorgi","Lasha","Beqa"]    
x=0    
for i in Database:  
  while x<len(Database):    
    x+=1  
    print(f"{x} {i}")  

这就是我尝试过的,我得到的答案是

1 Akaki  
2 Akaki  
3 Akaki  
4 Akaki  
5 Akaki

我想在 for 循环中用正确的名称正确地计算它。我有这个公式来做:

Database= ["Akaki","Salome","Giorgi","Lasha","Beqa"]  
for i in range(len(Database)):  
  print(i,Database[i])

这样就可以了,但我也可以用 while 循环来做吗?

python for-loop while-loop nested-loops
2个回答
0
投票

当然可以。

x=0    
while x<len(Database):      
    print(f"{x} {Database[x]}")
    x+=1

我不明白为什么你的第一个例子有两个嵌套循环。


0
投票

Pythonic 方式是使用

enumerate
。它返回一个默认的基于 0 的索引和可迭代对象中每个项目的值:

Database = ['Akaki', 'Salome', 'Giorgi', 'Lasha', 'Beqa']    
for i, value in enumerate(Database, start=1):
    print(f'{i} {value}')  

输出:

1 Akaki
2 Salome
3 Giorgi
4 Lasha
5 Beqa
© www.soinside.com 2019 - 2024. All rights reserved.