python练习day5

#    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()

你可能感兴趣的:(python练习day5)