python - 如何为用户获取数据并作为键和值附加到字典中
问题描述
我正在尝试从用户获取数据(他们的名字作为键并标记为值)。
我的问题是,我怎样才能通过用户获取数据Input()
,然后选择获得 < 33 的学生并打印他们的结果
我已经尝试过这种方法,但是如何从用户中获取数据并存储在字典中。
students = {
input('Enter name 1: '): float(input('Enter value 1: ')),
input('Enter name 2: '): float(input('Enter value 2: ')),
input('Enter name 3: '): float(input('Enter value 3: ')),
input('Enter name 4: '): float(input('Enter value 4: ')),
input('Enter name 5: '): float(input('Enter value 5: ')),
}
# I know this is ugly method to write type() many times, so this is the problem
print(len(students))
for (name, value) in students.items():
print(name, sep='\n')
print(value)
print(*[student for student in students if students[student] < 33],
sep='\n')
第一个用户将写有多少学生,例如5
我想获取数据表单用户名和标记,如下所示:
5
dino
23.3
jackson
33.5
timcey
44.5
james
55.5
gardner
31.2
然后计算谁的学生得分低于 36 分并打印他们的名字
dino
jackson
gardner
解决方案
尝试使用此代码:
students = {}
n = int(input())
for i in range(n):
students.update({input('Enter name %s: ' % (i + 1)): float(input('Enter value %s: ' % (i + 1)))})
for name, value in students.items():
print(name)
print(value)
print(*[student for student in students if students[student] < 33], sep='\n')
示例输出:
5
Enter name 1: dino
Enter value 1: 23.3
Enter name 2: jackson
Enter value 2: 33.5
Enter name 3: timcey
Enter value 3: 44.5
Enter name 4: james
Enter value 4: 55.5
Enter name 5: gardner
Enter value 5: 31.2
dino
23.3
jackson
33.5
timcey
44.5
james
55.5
gardner
31.2
dino
gardner
推荐阅读
- python - 删除 90% 相似的重复推文
- python-3.x - 当我使用 Pyinstaller 时,Pycharm 会忽略安装的“Pyinstaller”模块,而是使用安装在 Windows 中的模块
- html - 如何从精灵图像中删除白色边框
- python - 在字典中列出的 csv 文件
- python - Python防止输入文本与其他文本分开
- python-3.x - 如何使 Python AWS S3 Boto3 代码对间歇性 WiFi 具有鲁棒性
- python - Edge Selenium 显示错误:“消息:找不到指定的窗口。”
- jenkins - 将 Jenkins 与 Github 集成时出错
- sas - SAS使用输入语句读取CSV文件
- c++ - 将成员函数传递给模板函数