# a.变量命名和py文件命名必须符合规范(见名知意、不使用关键字、不能与内置函数或方法重名)
# b.代码书写需规范,例如:赋值语句 =前后需要有一个空格、注释#后面要有一个空格等等
# c.必做题必须做,选做题有精力的同学可以做
#一、必做题
# 1.编写如下程序
# a.用户输入1-7七个数字,分别代表周一到周日
# b.如果输入1~5,打印对应的“周一”~“周五”,如果输入的数字是6或7,打印输出“周末”
# c.如果输入0,退出循环
# d.输入其他内容,提示:“输入有误,请重新输入!”
#提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确
list_match = ['退出', '星期一', '星期二', '星期三', '星期四', '星期五', '周末', '周末']
while True:
try:
week_day = int(input("输入零退出程序,接下来请输入1-7中任意数字:"))
except Exception:
print('输入有误,请重新输入!')
continue
if week_day in range(1, 8):
print(list_match[week_day])
elif week_day == 0:
break
else:
print('输入有误,请重新输入!')
# 2.编写如下程序
#输入一个人的身高(m)和体重(kg),根据BMI公式(体重除以身高的平方)计算他的BMI指数
# a.例如:一个65公斤的人,身高是1.62m,则BMI为 : 65 / 1.62 ** 2 = 24.8
# b.根据BMI指数,给与相应提醒
#低于18.5: 过轻
# 18.5-25: 正常
# 25-28: 过重
# 28-32: 肥胖
#高于32: 严重肥胖
def adviceBMI(height, weight):
indexBMI = weight / height ** 2
advice = None
if indexBMI < 18.5:
advice = '过轻'
elif 18.5 <= indexBMI < 25:
advice = '正常'
elif 25 <= indexBMI < 28:
advice = '过重'
elif 28 <= indexBMI < 32:
advice = '肥胖'
0
else:
advice = '严重肥胖'
return advice
while True:
try:
height = float(input('请输入身高(单位:m):'))
weight = float(input('请输入体重(单位:kg):'))
break
except Exception:
print("请输入符合要求的数据!")
continue
print(adviceBMI(height, weight))
# 3.编写如下程序
#从键盘输入一个用户名和密码,判断是否正确,如果正确则打印登录系统成功,否则显示用户名或密码错误。
# a.定义一个函数,接收用户输入的用户名和密码作为参数
# b.正确的账号,用户名为lemon,密码为best
def login():
username = input('请输入用户名:')
pwd = input("请输入密码:")
if username == "lemon" and pwd == "best":
print('登录成功')
else:
print('用户名或密码错误,请输入正确的用户名和密码!')
login()
# 4.取出列表中最大的值
#将列表[13, 20, 42, 85, 9, 45]中的最大值为85
list_1 = [13, 20, 42, 85, 9, 45]
print(max(list_1)) #直接获取列表追大致
def findMax(List): #查找列表中最大值,将所有元素和第一个元素作比较,如果比第一个元素大,就赋值给第一个元素
for i in range(1, len(List) - 1):
if List[0] < List[i]:
List[0] = List[i]
return List[0]
print(findMax(list_1))
# 5.使用思维导图总结本周所学的内容
#二、选作题
# 1.列表去重
#将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]去除重复元素
list_a = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
list_b = []
for i in list_a:
if i not in list_b:
list_b.append(i)
print(list_b)
# 2.编写如下程序
#打印出1-100之间除了含7和7的倍数之外的所有数字
def count7():
for i in range(1, 101):
if i % 7 != 0 and '7' not in str(i):
print(i, end=', ')
print()
count7()
# 3.编写如下程序
#输入键盘数字键(0~9),返回数字键上方字符
#
# a.定义如下字典num_str_dic = {'1': '!', '2': '@', '3': '#', '4': '$','5': '%', '6': '^', '7': '&', '8': '*', '9': '(', '0': ')'}
#
# b.例如:键盘输入5,程序输出%
#
# c.键盘输入0~9,正常输出字符之后,退出程序,否则继续提示输入
def matchKey():
num_str_dic = {'1': '!', '2': '@', '3': '#', '4': '$', '5': '%', '6': '^', '7': '&', '8': '*', '9': '(', '0': ')'}
while True:
numKey = input("请输入数字:")
try:
print(num_str_dic[numKey])
break
except Exception:
print("输入有误,请重新输入")
matchKey()