| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
def input_student(name=" ",age=" ",achi=" "): 
    name = input("请输入名字:") 
    age = int(input("请输入年龄")) 
    achi = int(input("请输入成绩")) 
    L=[] 
    while len(name) != 0: 
        L.append(input_student()) 
        name = input("请输入名字:") 
        age = int(input("请输入年龄")) 
        achi = int(input("请输入成绩")) 
    return L 
input_student() 
print(L) 
 
 
写一个程序,任意输入n个学生的信息,形成字典后存于列表中 input_studet() 
学生的信息包括:姓名(字符串),年龄(整数),成绩(浮点数) 
循环输入学生信息,知道输入学生姓名为空时结束输入 
 
名字为空时,无法终止循环
第一个问题: 
你用了递归,你 append 那里不应该调用自身 
 
第二个问题: 
你要把 input_student() 的结果赋值给 L 才能打印, 
 
不然你是没法在全局 print 一个局部变量的 
- def input_student(name=" ",age=" ",achi=" "):
 
 -     name = input("请输入名字:")
 
 -     if not name:
 
 -         return
 
 -     age = int(input("请输入年龄"))
 
 -     achi = int(input("请输入成绩"))
 
 -     L=[]
 
 -     while len(name) != 0:
 
 -         L.append((name, age, achi))
 
 -         name = input("请输入名字:")
 
 -         if not name:
 
 -             break
 
 -         age = int(input("请输入年龄"))
 
 -         achi = int(input("请输入成绩"))
 
 -     return L
 
 - L = input_student()
 
 - print(L)
 
  复制代码 
 
 
 |   
 
 
 
 |