python - 如何按字母顺序将项目放在桌子上的循环中?
问题描述
这是我的作业:
编写一个程序,询问 10 名学生的姓名和年龄。以表格格式按字母顺序打印学生的姓名和年龄,同时还将年龄最大的学生标识为“团队负责人”。
这就是我到目前为止所做的。评论是我认为我应该做但不确定的事情:
#from tabulate import tabulate
studentNames = []
for i in range(10):
item = input("Please enter a name: ")
if len(item) > 0 and item.isalpha():
studentNames.append(item)
#Something like this?
#print(tabulate(studentNames([[]], headers=['Team Leader', 'Students']))
我的老师没有教我制表,但我的研究表明我需要使用它,但我认为这是错误的,我不知道如何按字母顺序进行。我很抱歉代码不好,我什至都不好意思发布它。
任何帮助,将不胜感激。谢谢你。
解决方案
当我为你解决这个练习时,我认为它没有帮助。我建议您弄清楚如何添加输入,例如 var 表。
table = [("A", 20), ("Z", 21), ("C", 29), ("B", 24)]
sorted_table = sorted(table, key=lambda row: row[0])
leader = max(table, key=lambda row: row[1])
要打印它,您可以简单地遍历行并打印如下内容:
print("{0} | {1}".format(row[0], row[1]))
我的完整解决方案是,我建议您仅在再次卡住时才使用它。
table = []
for i in range(10):
name = input("Please enter a name: ")
age = input("Enter the age: ")
if len(name) > 0 and name.isalpha():
table.append((name, age))
sorted_table = sorted(table, key=lambda row: row[0])
leader = max(table, key=lambda row: row[1])
print("{0:<12} | {1:<4}".format("Names", "Age"))
print("-" * 19)
for row in sorted_table:
print("{0:<12} | {1:<4}".format(row[0], row[1]))
print("Team Leader is: {0}".format(leader[0]))
推荐阅读
- amazon-web-services - AWS SES:无法从任何一个新区域发送电子邮件
- pandas - 用另一个数据框的列替换数据框列中的一些条目
- c# - $injector:modulerr 无法实例化模块 my-branches
- laravel - Laravel:从数据库数据中保存 css 文件
- go - 如何在安装 gobuffalo 后修复“/gobuffalo/buffalo/plugins/plugdeps/plugin.go:15:11: undefined: meta.BuildTags”错误
- node.js - docker -minio - 您提供的访问密钥 ID 在我们的记录中不存在
- ios - 实例成员不能用于嵌套类型的实例?
- python - Python:如何使用 f 字符串计算数学运算
- c# - Unity中如何访问TextMeshProUGUI
- javascript - Next.js : 服务器端渲染页面中请求高时无响应(动态路由)