2401_83260710 2024-03-02 22:51 采纳率: 0%
浏览 6

现有学生信息列表如下:  stu_list =

现有学生信息列表如下:

 stu_list = [[110235,"Mark",'Male'],[110236,"Cindy",'Female'],[110237,"Kris",'Male'],[110238,"Jennie",'Female']]

(1)  打印出如下格式
------  学生信息表 ------
学号     姓名    性别
110235  Mark   Male
110236  Cindy  Female
110237  Kris   Male
110238  Jennie Female
(2)  让学生输入用户名和学号,判断用户名和学号是否正确。
如果正确,提示'登陆成功',如果不正确,提示'您输入的账号或密码有误',
如果一个用户输入超过五次没有登陆成功,提示'今日登陆次数已用完!',并退出程序。
  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-03-02 22:51
    关注

    2401_83260710 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    方案如下:

    1. 打印学生信息表的格式:

      • 遍历学生信息列表,逐行打印学号、姓名和性别。可以使用列表的索引和循环结构来实现。
      • 打印表头为 "学号 姓名 性别"。
      • 打印每个学生的信息,以对齐的形式打印。
    2. 判断用户名和学号是否正确:

      • 提示学生输入用户名和学号。
      • 遍历学生信息列表,逐个比较输入的用户名和学号是否与列表中的数据匹配。
      • 如果匹配成功,提示"登录成功",并退出循环。
      • 如果匹配失败,提示"您输入的账号或密码有误",并记录输入次数。
      • 如果一个用户输入超过五次没有登录成功,提示"今日登录次数已用完!",并退出程序。

    修改后的代码如下:

    stu_list = [[110235, "Mark", 'Male'], [110236, "Cindy", 'Female'], [110237, "Kris", 'Male'], [110238, "Jennie", 'Female']]
    
    def print_student_info(stu_list):
        print("------ 学生信息表 ------")
        print("学号     姓名    性别")
        for stu in stu_list:
            print("{:6}  {:6}  {:6}".format(stu[0], stu[1], stu[2]))
    
    def login(stu_list):
        count = 0
        while count < 5:
            username = input("请输入用户名:")
            student_id = int(input("请输入学号:"))
            for stu in stu_list:
                if stu[0] == student_id and stu[1] == username:
                    print("登录成功")
                    return
            print("您输入的账号或密码有误")
            count += 1
        print("今日登录次数已用完!")
    
    print_student_info(stu_list)
    login(stu_list)
    

    在控制台运行上述代码,即可按顺序实现以上两个功能。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月2日