首页 > 解决方案 > 使用 for 循环打印名称

问题描述

在此处输入图像描述

president = [('D. Trump',2017), ('Barack Obama',2009), ('B. Clinton',1993), 
             ('George W. Bush',2001)]

max_w = president[0][1]
min_w = president[0][1]

for word in president:

    if word[1] > max_w:
        max_w = word
    elif word[1] < min_w:
        min_w = word   

print(max_w, min_w)

为什么 max_w 和 min_w 是一个元组?它应该是一个int?

标签: pythontuples

解决方案


我认为你想要max_w = word[1]并且min_w = word[1]在这些条件范围内。

或者,您可以这样写:

for name, year in president:
    if year > max_w:
        max_w = year
    if year < min_w:
        min_w = year

或保存初始化并执行此操作(更好的 IMO):

max_w = max(year for name, year in president)
min_w = min(year for name, year in president)

推荐阅读