zoukankan      html  css  js  c++  java
  • Python购物车和学生管理系统

    购物车练习程序

    (1)可以显示商品列表

    (2)根据商品id进行购买

    (3)根据输入的工作来判断是否有足够的钱购买

    (4)退出时,显示购买的商品和卡中的余额

    # 购物车练习程序
    
    product_list = [
        ('iphone', 5000),
        ('Mac', 9000),
        ('Bike', 800),
        ('watch', 600),
        ('book', 600),
    ]
    shopping_list = []
    def shop():
        salay = input("请输入你的工资:")
        if salay.isdigit():
            salay = int(salay)
            while True:
                for index, itme in enumerate(product_list):
                    #print(product_list.index(itme),itme)
                    print(index,itme)
    
                user_choice = input("选择要买的商品?请选择购买的编号!")
    
                if user_choice.isdigit():
                    user_choice = int(user_choice)
                    if user_choice < len(product_list) and user_choice >-1:
                        p_itme = product_list[user_choice]
                        if p_itme[1] <= salay:#买的起
                            shopping_list.append(p_itme)
                            salay-=p_itme[1]
                            print("Added %s into shopping cart ,you current balance is 33[31;1m%s33[0m" %(p_itme,salay))
                        else:
                            print("33[41;1m你的余额不足,只剩[%s]33[0m" % salay)
                    else:
                        print("请输入正确商品编号")
    
                elif user_choice == 'q':
    
                    print('----------------------shopping list----------------------------')
                    for p in shopping_list:
                        print(p)
                    print("33[41;1m你的余额[%s]33[0m" % salay)
                    exit()
                else:
                    print("请输入正确的编号")
        else:
            print("你输入的工资格式不对,请输入正确的格式")
            shop()
    shop()
    

    学生管理系统

    欢迎使用[学生管理系统] V1.0
    1.显示所有学生信息
    2.新建学生信息
    3.查询学生信息
    4.修改学生信息
    5.删除学生信息
    0.退出系统
    """
    欢迎使用[学生管理系统] V1.0
    1.显示所有学生信息
    2.新建学生信息
    3.查询学生信息
    4.修改学生信息
    5.删除学生信息
    0.退出系统
    """
    # 模拟学生数据
    from datetime import datetime
    
    student_data = [
        {
            'name': '南宫乘风',
            'sex': '男',
            'address': '西安',
            'birthday': '20000229'
        },
        {
            'name': '乘风',
            'sex': '男',
            'address': '洋县',
            'birthday': '20101229'
        }
    ]
    
    
    # 学生类
    class Student:
        # 学生初始化
        def __init__(self, name, sex, address, birthday):
            self.name = name
            self.sex = sex
            self.address = address
            self.birthday = birthday
    
        # 获取学生年龄
        def get_age(self):
            if self.birthday:
                age = datetime.now().year - int(self.birthday[:4])
                return age
            else:
                print("不知道")
    
    
    # 学生管理系统类
    
    
    class System:
        # 初始化
        def __init__(self, name):
            self.name = name
            self.data = []
    
        # 美化输出打印
        def beauty_print(self, data_list):
            for index, student in enumerate(data_list):
                print(f"序号:{index}", end='	')
                print(f"姓名:{student.name}", end='	')
                print(f"性别:{student.sex:2}", end='	')
                print(f"地址:{student.address}", end='	')
                print(f"年龄:{student.get_age()}")
    
        # 加载数据
        def load_data(self):
            for item in student_data:
                student = Student(item['name'], item['sex'], item['address'], item['birthday'])
                self.data.append(student)
    
        # 显示菜单
        def show_menu(self):
            # f-string
            print(f"""
            ******************************
                欢迎使用[{self.name}] V2.0
                1.显示所有学生信息
                2.新建学生信息
                3.查询学生信息
                4.修改学生信息
                5.删除学生信息
                0.退出系统
            ******************************    
            """)
    
        # 启动学生管理系统
        def start(self):
            # 加载数据
            self.load_data()
            while True:
    
                self.show_menu()
                op = input("选择操作")
                if op == '1':
                    self.show_all_student()
                elif op == '2':
                    self.create_student()
                elif op == '3':
                    self.find_student()
                elif op == '4':
                    self.modify_student()
                elif op == '5':
                    self.remove_student()
                elif op == '6':
                    print('退出程序')
                    break
                else:
                    print("请输入正常的操作")
    
        # 选择性别
        def choose_sex(self):
            sex = input("请选择性别:(1):男|(2):女").strip()
            if sex == '1':
                return '男'
            elif sex == '2':
                return '女'
            else:
                return '未知'
    
        # 判断名字
        def input_name(self):
            while True:
                name = input("请输入名字:").strip()
                if name:
                    return name
                else:
                    continue
    
        # 根据名字查询
        def find_student_name(self):
            name = self.input_name()
            find_list = []
            for student in self.data:
                if name.lower() in student.name.lower():
                    find_list.append(student)
            if find_list:
                return find_list
            else:
                print(f"没有找到学生:{name}")
    
        # 1.显示所有学生信息
        def show_all_student(self):
            self.beauty_print(self.data)
    
        # 2.新建学生信息
        def create_student(self):
            name = self.input_name()
            sex = self.choose_sex()
            address = input("请输入地址")
            birthday = input("请输入生日")
            student = Student(name, sex, address, birthday)
            self.data.append(student)
    
        # 3.查询学生信息
        def find_student(self):
            # name = self.input_name()
            # for student in self.data:
            #     if name.lower() in student.name.lower():
            #         self.beauty_print([student])
    
            find_list = self.find_student_name()
            self.beauty_print(find_list)
    
        # 4.修改学生信息
        def modify_student(self):
            find_list = self.find_student_name()
            if find_list:
                self.beauty_print(find_list)
                index = int(input("选择序号:"))
                student = find_list[index]
                print('当前修改的是:')
                self.beauty_print([student])
                student.name = input('输入新的名字:').strip()
                student.sex = self.choose_sex()
                student.address = input("请输入地址:")
                student.birthday = input("请输入生日:")
                print(f'{student.name}已经修改')
                return
    
        # 5.删除学生信息
        def remove_student(self):
            find_list = self.find_student_name()
            if find_list:
                self.beauty_print(find_list)
                index = int(input("选择序号:"))
                student = find_list[index]
                print('当前删除的是:')
                self.beauty_print([student])
                self.data.remove(student)
                return
            else:
                print(f'没有的人')
    
        # 0.退出系统
    
    
    if __name__ == '__main__':
        student_sys = System('乘风系统')
        student_sys.start()
    
  • 相关阅读:
    js bubbleSort
    关于“ ,”的迷
    移位
    emacs 一些很有用的快捷键
    input&output
    async&await
    用dbforge调试procedure
    开发中常用的工具
    用Firefox的debugger来调试JavaScript
    Hibernate映射关系配置
  • 原文地址:https://www.cnblogs.com/heian99/p/12865378.html
Copyright © 2011-2022 走看看