獠羽犽丶 发表于 2020-5-5 10:31:38

输入名字求科目和成绩

students = [{'name': 'Bob', 'subject': 'Python', 'score': '98'}]


def query_student(s):
   pass


while True:
   s = input()
   if s == 'end':
      break
   elif s.startswith('query:'):
      query_student(s)



如果我输入 query: Bob 我想输出 python 98
如果我输入 query: Jim 我想输出 Unknown

獠羽犽丶 发表于 2020-5-5 10:32:34

忘了问def 该怎么写了

KevinHu 发表于 2020-5-5 10:46:56

为什么你的 query_student 函数是空的?

熊顺祥 发表于 2020-5-5 11:08:39

students = [{'name': 'Bob', 'subject': 'Python', 'score': '98'}]


while True:
    question = input('输入名字查询信息格式:query:姓名')
    name = question.split(':')

    for each_stu in students:
      if name== each_stu['name']:
            print(each_stu)
    else:
      print('Unknown')

qiuyouzhi 发表于 2020-5-5 11:12:30

students = {'name': 'Bob', 'subject': 'Python', 'score': '98'}

def query_student(s):
    if students['name'] in s:
      print(f"name: {students['name']}, subject: {students['subject']}, score: {students['score']}")
    else:
      print("Unknown")

while True:
   s = input()
   if s == 'end':
      break
   elif s.startswith('query:'):
      query_student(s)

獠羽犽丶 发表于 2020-5-5 13:19:18

qiuyouzhi 发表于 2020-5-5 11:12


如果我输入名字时只想输出python 98 而不是name: Bob, subject: Python, score: 98该怎么做

獠羽犽丶 发表于 2020-5-5 13:21:18

qiuyouzhi 发表于 2020-5-5 11:12


就多一个符号都不要的那一种

qiuyouzhi 发表于 2020-5-5 13:31:39

獠羽犽丶 发表于 2020-5-5 13:21
就多一个符号都不要的那一种

。。。
students = {'name': 'Bob', 'subject': 'Python', 'score': '98'}

def query_student(s):
    if students['name'] in s:
      print(f"subject: {students['subject']}, score: {students['score']}")
    else:
      print("Unknown")

while True:
   s = input()
   if s == 'end':
      break
   elif s.startswith('query:'):
      query_student(s)
把print那里删掉一个项不就好了。。。

獠羽犽丶 发表于 2020-5-5 15:10:18

qiuyouzhi 发表于 2020-5-5 13:31
。。。

把print那里删掉一个项不就好了。。。

想在问问如果第一行是students = [{'name': 'Bob', 'subject': 'Python', 'score': '98'}]那函数又要怎么改

qiuyouzhi 发表于 2020-5-5 15:33:59

獠羽犽丶 发表于 2020-5-5 15:10
想在问问如果第一行是students = [{'name': 'Bob', 'subject': 'Python', 'score': '98'}]那函数又要怎么 ...

那就加个,取出列表第一个元素(也就是字典)

獠羽犽丶 发表于 2020-5-5 16:27:05

qiuyouzhi 发表于 2020-5-5 15:33
那就加个,取出列表第一个元素(也就是字典)

能不能演示一遍{:10_278:}

qiuyouzhi 发表于 2020-5-5 16:27:58

獠羽犽丶 发表于 2020-5-5 16:27
能不能演示一遍

就是students['subject']
以此类推

老兵hb 发表于 2020-5-5 16:56:08

qiuyouzhi 发表于 2020-5-5 11:12


怎么执行不了呢?

qiuyouzhi 发表于 2020-5-5 16:59:36

老兵hb 发表于 2020-5-5 16:56
怎么执行不了呢?

你把代码发出来

老兵hb 发表于 2020-5-5 21:51:15

qiuyouzhi 发表于 2020-5-5 16:59
你把代码发出来

复制的你的代码,在py charm里面执行;输入Bob后没反映。

qiuyouzhi 发表于 2020-5-5 21:53:28

老兵hb 发表于 2020-5-5 21:51
复制的你的代码,在py charm里面执行;输入Bob后没反映。

....
你不得输入query: Bob吗?

老兵hb 发表于 2020-5-5 22:38:28

qiuyouzhi 发表于 2020-5-5 21:53
....
你不得输入query: Bob吗?

多谢,明白了
页: [1]
查看完整版本: 输入名字求科目和成绩