实验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)