su_zui 2020-06-08 21:48 采纳率: 0%
浏览 276
已结题

python命令行清屏问题

使用os.system('cls')指令时屏幕没有被清屏只是在输出语句处出现一个0.求问该如何解决?

# 好友管理系统2.0
"""
*******************************
欢迎使用【学生管理系统】
     1.显示所有学生信息
     2.新建学生信息
     3.查询学生信息
     4.修改学生信息
     5.删除学生信息
     0.退出系统
*******************************
"""
import os

# 默认学生数据
student_data = [
    {
        'id': 1111111111,
        'name': '小明',
        'sex': '男',
        'birthday': '20001011'
    },
    {
        'id': 2222222222,
        'name': '小红',
        'sex': '女',
        'birthday': '20001011'
    },
    {
        'id': 3333333333,
        'name': '小刚',
        'sex': '男',
        'birthday': '20001011'
    },
    {
        'id': 4444444444,
        'name': '小芳',
        'sex': '女',
        'birthday': '20001011'
    }
]


# 学生对象初始化
class Student:
    def __init__(self, id, name, sex, birthday):
        self.id = id
        self.name = name
        self.sex = sex
        self.birthday = birthday


# 系统对象
class System:
    def __init__(self, name):
        self.name = name
        self.data = []

    # 美化输出打印
    def beauty_print(self, data_list):
        print(os.system('cls'))
        for index, student in enumerate(data_list):
            print(f'序号:{index}', end='\t')
            print(f'学号:{student.id:8}', end='\t')
            print(f'姓名:{student.name:4}', end='\t')
            print(f'性别:{student.sex:2}', end='\t')
            print(f'生日:{student.birthday:6}')

    # 加载数据
    def load_data(self):
        for item in student_data:
            student = Student(item['id'], item['name'], item['sex'], item['birthday'])
            self.data.append(student)

    # 启动系统
    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 == '0':
                print('退出程序')
                break
            else:
                print('请输入正常的操作')

    # 输入用户名
    def input_name(self):
        while True:
            name = input('请输入姓名:').strip()
            if name:
                return name
            else:
                continue

     # 选择性别
    def choose_sex(self):
        sex = input('选择性别:(1)男 (2)女').strip()
        if sex == '1':
            return '男'
        elif sex == '2':
            return '女'
        else:
            return '保密'

    # 根据名字查找学生
    def find_student_by_name(self):
        name = self.input_name()
        find_list = []
        for student in self.data:
            if name in student.name:
                find_list.append(student)
        if find_list:
            return find_list
        else:
            print('未查询到该学生')


    # 显示菜单
    def show_menu(self):
        print(f"""
*******************************
欢迎使用【{self.name}】
     1.显示所有学生信息
     2.新建学生信息
     3.查询学生信息
     4.修改学生信息
     5.删除学生信息
     0.退出系统
*******************************
""")

    # 1、显示学生列表
    def show_all_student(self):
        self.beauty_print(self.data)

    # 2、新建学生信息
    def create_student(self):
        id = input("请输入学号:")
        name = self.input_name()
        sex = self.choose_sex()
        birthday = input('请输入生日:')
        student = Student(id, name, sex, birthday)
        self.data.append(student)

    # 3、查询学生信息
    def find_student(self):
        find_list =self.find_student_by_name()
        self.beauty_print(find_list)

    # 4、修改学生信息
    def modify_student(self):
        find_list = self.find_student_by_name()
        if find_list:
            self.beauty_print(find_list)
            index = int(input('选择修改的序号:'))
            student = find_list[index]
            print('当前修改的是:')
            self.beauty_print([student])
            id = input('请输入学号:')
            name = input('请输入姓名:').strip()
            sex = self.choose_sex()
            birthday = input('请输入生日')
            if name :
                student.name = name
            student.sex = sex
            student.birthday = birthday

    # 5、删除学生信息:
    def remove_student(self):
        find_list = self.find_student_by_name()
        if find_list:
            self.beauty_print(find_list)
            index = int(input('选择删除的序号:'))
            print('当前要删除的是:')
            student = find_list[index]
            self.beauty_print([student])
            self.data.remove(student)


if __name__ == '__main__':
    student_sys = System('学生管理系统')
    student_sys.start()




  • 写回答

1条回答 默认 最新

  • 吃鸡王者 2020-06-09 10:21
    关注

    你的代码在我这边执行时可以实现清屏的,如果你不想看到0,你将清屏的哪一行代码改为:os.system('cls') 不要print输出就可以来

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月24日

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配