如何获取用户数据并将dict作为键和值追加

时间:2019-07-25 04:41:35

标签: python dictionary

我正试图从用户那里获取数据(他们的名字为键,并标记为值)。

我的问题是我该如何通过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分并打印他们的姓名

   jackson
   gardner

2 个答案:

答案 0 :(得分:0)

要打印分数<36的学生,请使用for循环:

for student,score in students.items():
    if score < 36:
        print(student)

答案 1 :(得分:-1)

尝试使用此代码:

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