2021-10-22

                        实验11

计算器

import re
print("+ - * / 加减乘除, = 等于; ## 退出")
print("该计算器按输入的先后循序计算, 没有括号运算\n")
cmd = '+'
operator = ('+', '-', '*', '/')
ans = 0
list1 = list()
def isNumber(a) :
    b = ''
    if a.startswith('-'):
        a = a[1::]
        b = '-'
    if a.isdigit():
        return True
    if a.count('.') == 1:
        left = a.split('.')[0]
        right = a.split('.')[1]
        if left.isdigit() and right.isdigit():
            return True
    return False

while True:
    list1.clear()
    op = input()
    list1 = re.split(' +', op)
    for i in list1:
        if i == '##':
            exit(0)
        if i.isdigit() or isNumber(i):
            if cmd == '+':
                ans += float(i)
            elif cmd == '-':
                ans -= float(i)
            elif cmd == '/':
                ans /= float(i)
            elif cmd == '*':
                ans *= float(i)
        elif i in operator:
            cmd = i
        elif i == '=':
            print("{:.2f}\n".format(ans))
            break
        else:
            print("错误!\n")
            break
    ans = 0
    cmd = '+'

学生信息管理系统(老师要求添加删除自己的姓名)

students = {}

def AddStudent():
    print("{:^}".format("||添加学生信息||"))
    print("输入 ## 退出\n")
    while True:
        studentid = input("学号 : ")
        if studentid == "##":
            break
        if studentid == '':
            print("学号未填写信息!!!\n")
            continue
        if studentid in students.keys():
            print("该学号已存在!\n")
            continue
        name = input("姓名 : ")
        if name == "##":
            break
        if name == '':
            print("姓名未填写!!!\n")
            continue
        year = input("年龄 : ")
        if year == "##":
            break 
        if year == '':
            print("年龄未填写!!!\n")
            continue
        sexual = input("性别(男/女) : ")
        if sexual == "##":
            break
        if sexual =='':
            print("性别未填写!!!\n")
            continue
        telephone = input("电话 : ")
        if telephone == "##":
            break
        if telephone == '':
            print("电话未填写!!!\n")
            continue
        address = input("地址 : ")
        if address == "##":
            break
        if address == '':
            print("地址未填写!!!\n")
            continue
        student = {'studentid':studentid, 'name':name, 'year':year, 'sexual':sexual, 'telephone':telephone, 'address':address}
        students[studentid] = student
        print('\n','*'*40,"学号 : {}\n姓名: {}\n年龄 : {}\n性别 : {}\n电话 : {}\n地址 : {}".\
              format(student['studentid'], student['name'],student['year'],student['sexual'],student['telephone'],student['address']),'*'*40, '\n',sep = '\n')

def DeleteStudent():
    print("\n||删除学生信息||\n输入 ## 退出\n")
    while True:
        studentid = input("删除学生的学号:")
        if studentid == '##':
            break
        if not studentid in students.keys():
            print("该学生不存在!\n")
            continue
        print("确定删除该学生吗 Y/n")
        od = input()
        if od == '##':
            break
        if od == 'Y':
            students.pop(studentid)
            print("删除成功!\n")

def ModifyStudent():
    print("||修改学生信息||\n输入## 退出\n")
    while True:
        student = input("输入修改学生学号 : ")
        if student == '##':
            break
        if not student in students.keys():
            print("该学生不存在")
            continue
        while True:
            studentid = input("学号({}) : ".format(students[student]['studentid']))
            if studentid == '##':
                break
            if studentid in students.keys():
                print("该学号已存在!\n")
                continue
            name = input("姓名({}) : ".format(students[student]['name']))
            if name == '##':
                break
            year = input("年龄({}) : ".format(students[student]['year']))
            if year == '##':
                break
            sexual = input("性别({}) : ".format(students[student]['sexual']))
            if sexual == '##':
                break
            telephone = input("电话({}) : ".format(students[student]['telephone']))
            if telephone == '##':
                break
            address = input("地址({}) : ".format(students[student]['address']))
            if address == '##':
                break
            if studentid != '':
                students[student]['studentid'] = studentid
            if name != '':
                students[student]['name'] = name
            if year != '':
                students[student]['year'] = year
            if sexual != '':
                students[student]['sexual'] = sexual
            if telephone != '':
                students[student]['telephone'] = telephone
            if address != '':
                students[student]['address'] = address
            if student != studentid:
                students[studentid] = students[student]
                students.pop(student)
                student = studentid
            print("修改成功!\n")
            print('\n','*'*70,"学号 : {:<13}姓名: {:<13}年龄 : {:<13}\n性别 : {:<13}电话 : {:<13}地址 : {:<13}".\
                  format(students[student]['studentid'], students[student]['name'],students[student]['year'],students[student]['sexual'],students[student]['telephone'],students[student]['address']),'*'*70, '\n',sep = '\n')

    
def ViewStudent():
    print("||查看全部学生信息||\n")
    for student in students.values():
        print('*'*70,"学号 : {:<13}姓名: {:<13}年龄 : {:<13}\n性别 : {:<13}电话 : {:<13}地址 : {:<13}".\
              format(student['studentid'], student['name'],student['year'],student['sexual'],student['telephone'],student['address']),'*'*70, '\n',sep = '\n')
        
    

while True :
    print('\n',"="*40, "学生管理系统 V10.0", "1.添加学生信息", "2.删除学生信息", "3.修改学生信息","4.查询所有学生信息","0.退出系统", "="*40,sep = '\n')
    print("\n||菜单页面||\n请输入指令:\n")
    order = input()
    if order == '0':
        print("再见!")
        exit(0)
    elif order == '1':
        AddStudent()
    elif order == '2':
        DeleteStudent()
    elif order == '3':
        ModifyStudent()
    elif order == '4':
        ViewStudent()
    else:
        print("命令错误!!!")

添加学生

 

 

 

查看全部学生

 修改信息

 

 删除学生信息

 课后五个编程题

1

print(51*50)#由等差数列公式直接求得

 

2

ans = 1
for i in range(20, 2, -1):
    ans *= i
print(ans)

 

3

n = input()
if n.isdigit():
    if n == n[::-1]:
        print(n, "是回文数:)")
    else:
        print(n, "不是回文数:(")
else:
    print(n,"不是一个整数")

 

4

print("请输入三个数")
a, b, c = input().split()
list1 = [float(a), float(b), float(c)]
list1.sort()
if list1[2] < list1[1] + list1[0] and list1[0] > 0:
    print("可以构成三角型:)")
else:
    print("不可以构成三角形:(")

 

 5

def LCM(x, y):
    x1 = x
    y1 = y
    while x%y > 0:
        t = y
        y = x%y
        x = t
    lcm = x1*y1/y
    print("{} 和 {} 的最小公倍数是{}".format(x1, y1, int(lcm)))
a, b = input().split()
x = int(a)
y = int(b)
LCM(x, y)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值