美文网首页
Python 基础

Python 基础

作者: wjundong | 来源:发表于2020-02-13 17:38 被阅读0次

递归

#!/usr/bin/python3
#coding=utf-8

nx = 0

# 移动函数:将第 n 个盘子从 x 处移动到 y 处
def move(n, x, y):
    global nx
    nx += 1
    print("%03d 将第 %d 个盘子从 %s 移动到 %s"%(nx, n, x, y))


# 汉诺塔:将 n 个牌子从 a 借助 b 移动 到 c
def hanoi(n, a, b, c) :
    if n == 0:
        return
    # 1. 先将 n-1 个牌子从 a 借助 b 移动 到 c
    hanoi(n-1, a, c, b)

    # 2. 再将底下的第 n 个盘子从 a 移动到 c
    move(n, a, c)
    
    # 3. 最后把 b 上的 n-1 个盘子移动到 c 完成移动
    hanoi(n-1, b, a, c)


hanoi(3, 'A', 'B', 'C')

实现学生管理系统



def addstu(lst):
    student = {}
    student['name'] = input("输入要添加的学生姓名: ")
    student['number'] = input("输入学生学号: ")
    student['age'] = input("输入学生年龄: ")
    lst[student.get('name')] = student

def delstu(lst):
    name = input("输入要删除的学生姓名: ")
    if name in  lst:
        del lst[name]
    else:
        print("没有该学生")

def setstu(lst):
    name = input("输入要修改的学生姓名: ")
    if name in lst:
        stu = lst.get(name)
        print("要修改的学生信息如下: ")
        print(stu)
        stu['name'] = input("输入要修改的学生姓名: ")
        stu['number'] = input("输入修改的学号: ")
        stu['age'] = input("输入修改的年龄: ")
        del lst[name]
        lst[stu['name']] = stu
        print("修改完成")
    else:
        print("没有该学生")

def findstu(lst):
    name = input("输入要查找的学生姓名: ")
    if name in lst:
        print("要查找的学生信息如下: ")
        stu = lst.get(name)
        print(stu)
    else:
        print("没有该学生")


def savefile(lst, filename):
    f = open(filename, 'w')
    item = {}
    for key in lst:
        item = lst.get(key)
        print(item)
        for key in item:
            f.write(key)
            f.write(':')
            f.write(item.get(key))
            f.write(' ')
        f.write('\n')
        

def loadflie(filename):
    lst = {}
    try:
        f = open(filename, 'r')
        for line in f.readlines():
            info = line.split(' ')
            for dictt in info:
                key, value = dictt.split(':')
                student = {}
                student[key] = value
            lst[student.get('name')] = student
        return lst
    except FileNotFoundError:
        print("没有文件")
        return {}



def main():
    
    lst = loadflie('dat.txt')
    while True:
        print("----------------")
        print("1. 添加学生")
        print("2. 删除学生")
        print("3. 修改学生")
        print("4. 查找学生")
        print("5. 打印表格")
        print("6. 退出界面")
        cmd = int(input("输入命令:"))

        if cmd == 1:
            addstu(lst)
            
        elif cmd == 2:
            delstu(lst)
                
        elif cmd == 3:
            setstu(lst)

        elif cmd == 4:
            findstu(lst)
            
        elif cmd == 5: 
            print(lst)
        elif cmd == 6: 
            savefile(lst, 'dat.txt')
            break

if __name__ == '__main__':
    main()

相关文章

网友评论

      本文标题:Python 基础

      本文链接:https://www.haomeiwen.com/subject/ffelfhtx.html