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

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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀