python - 使用 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?
解决方案
我认为你想要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)
推荐阅读
- java - JAVA SDK 安装出错 - eclipse-java-indigo
- javascript - 在 Java+ CSS 中为单个单元格设置样式
- mongodb - 对于 MongoDB 更改流阅读器,什么是好的水平扩展策略?
- firebase - Dialogflow 实现如何使用 Facebook Messenger 支持多个按钮
- angular - 如何在使用 Typescript 的 API Post 请求中使用 Body 参数
- c# - 如何检测变量的键是否被按下?
- java - 使用时 h:inputFile 中的“TypeError:partialResponse 未定义”
- css - 如何减少引导列之间的间隙
- reactjs - 为什么我会收到此错误“TypeError:无法读取未定义的属性‘值’”
- c# - Unity Shader Graph中的平铺和偏移