作业一:三迁举办选“帅气男孩”,评委打分可以输入打分,要求分数必须大于5,小于10;

  • 方法一
 i = 1
while i < 6:
score = input("请%d评委打分:"%i)
if int(score) > 5 and int(score)<10:
print("感谢您的打分")
else:
print("不在有效范围内")
continue
i += 1

作业 1 答案 1

  • 方法二
 import re
dic = {} #存储同学最终得分的字典
list_boy = [] # 存储参赛人员信息
def is_Chinese(word): #判断输入参数人员姓名是否合法
for ch in word:
if '\u4e00' <= ch <= '\u9fff':
return False
else:
print("输入姓名不合法,请重新输入")
return True def participant(): # 输入参赛人员基本信息
print("输入Q/q退出输入")
while True:
name = input("请输入参赛人员姓名:")
if name.upper() == "Q": # 输入q 退出
break
if is_Chinese(name): # is_Chinese(name) 调用判断输入参数人员姓名是否合法函数;姓名合法,函数返回False,本语句不执行
continue
if name in list_boy: #判断输入的值是否已经存在
print("此参赛人员已经输入,请重新输入")
continue
else:
list_boy.append(name)
print("--------------------------------------")
print("本次评选大赛参赛人员有:")
print(list_boy)
print("--------------------------------------")
def grade(count): # 评委打分函数,count :需要传入评委个数
sum = 0
count_person = count #记录有几个评委,求平均数
while count :
count1 = count # 记录第几个评委
print("请评委",count,"打分")
g = input("请输入大于5且小于10的数字:")
value = re.compile(r'^[-+]?[0-9]+\.[0-9]+$')
result1 = value.match(g) #检测字符串是否小数
result2 = g.isdigit() # 检测字符串是否只由数字组成
if (result1 or result2) and float(g) > 5 and float(g) < 10: # 输入合法 分数是整数,且大于5 ,且小于10
sum = sum + float(g) #求分数的和
else: # 输入不合法
print("错误提示!请输入正确数字!")
# print("---------------------------------------")
count = count1 # 调取前面存储的数字,重新让该评委评分
continue
count -=1; # 跳转到下一个评委打分
avg = round(sum / count_person,3)# 求分数平均数 round( x [, n]) 方法返回浮点数x的四舍五入值,n为保留几位小数。
return avg # 定义最终得分函数 n为传入的形参,表示有几个评委
def final_score(n):
for i in list_boy:
print("---------------------------------------")
print("请为",i,"同学打分")
dic[i] = grade(n) # grade(4) # 调取打分函数grade(n),n为传入的形参,表示有几个评委
print(i,"同学的最终得分为",dic[i])
print("---------------------------------------")
print("最终得分详情:")
print(dic)
# print("---------------------------------------") def boy(): # 评选“帅气男孩”
max_avg = 0
for i in dic: #变量字典,获取键
if dic[i] > max_avg: # 判断哪个值最大
max_avg = dic[i] #找出最终得分的字典中的最大值
max_boy = i
return max_boy,max_avg if __name__ == '__main__':
print("欢迎来到本次“帅气男孩”评选管理系统")
print("---------------------------------------")
participant()
while True:
n = input('请输入评委个数,输入Q/q退出:')
'''
break作用:用来跳出最内层的for循环或者while循环,脱离该循环后程序从循环代码后面继续执行。
即break语句只能跳出当前层次的循环。
'''
if n.upper() == "Q": # upper()函数 是把字母转换成大写
print("本次评选大赛完美结束!!")
break
if n.isdigit() and int(n) > 0: # 输入合法 数是整数,且大于0
n_input = int(n)
final_score(n_input)# 调取最终得分函数 n_input为传入参,表示有几个评委
else:
print("输入不合法")
continue #结束当前当次循环,即跳出循环体中还没有执行的语句,但是并不跳出当前循环。
print("三迁'帅气男孩'最终获得者是",boy()) #调用 boy()函数
print("---------------------------------------")

作业 1 答案 1 升级版

作业二:显示一个喜欢的电影列表,观看者给每个电影打分,最终将投票信息公布出来

例如:lst = ['变形金刚','哆啦A梦','我的野蛮女友','赤壁','天下无贼','无间道']

     结果:lst = ['变形金刚' : 96 , '哆啦A梦' : 92 , '我的野蛮女友' : 88 , '赤壁' : 70 , '天下无贼' : 78 , '无间道' : 92]

  • 方法一
 lst = ['变形金刚','哆啦A梦','我的野蛮女友','赤壁','天下无贼','无间道']
dic = {}
for ele in lst:
score = input("请给电影%s打分:" % ele)
dic[ele] = score
print(dic)

作业 2 答案 1

  • 方法二
 dic = {}
lst = ['变形金刚','哆啦A梦','我的野蛮女友','赤壁','天下无贼','无间道']
for i in lst:
print("请对电影",i,"打分:")
g = float(input())
dic[i] = round(g, 2) #四舍五入,保留两位有效数
print(dic)

作业 2 答案 2

作业三:输入一个整数,输出每个数字对应的拼音。

    dic = { '-':'fu','1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu','0':'ling','.':'dian'}

    (请输入数字 : 889  输出:ba ba jiu)

 dic = {'-':'fu','':'yi','':'er','':'san','':'si','':'wu','':'liu',
'':'qi','':'ba','':'jiu','':'ling','.':'dian'}
while True:
num = input('请输入数字,输入q/Q退出程序:')
if num.upper() == "Q":
print("奴家恭送小主")
break
for i in num:
if i not in dic:
print("你输入的数据中查不到,请重新输入!!!")
continue
print(dic[i],end=" ")
print()

作业 3 答案

作业四:车牌区域划分,现给出一下车牌,根据车牌的信息,分析出各省的车牌持有量

    cars = ["鲁A32444","鲁B12333","京B8989M","黑C49678","黑C46555","沪B25041"]

    locals = {"沪":"上海","黑":"黑龙江","鲁":"山东","鄂":"湖北","湘":"湖南","京":"北京"}

    结果是:{山东:2,黑龙江:2,北京:1,上海:1}

 cars = ["鲁A32444","鲁B12333","京B8989M","黑C49678","黑C46555","沪B25041"]
locals = {"沪":"上海","黑":"黑龙江","鲁":"山东","鄂":"湖北","湘":"湖南","京":"北京"}
dic = {}
for car in cars:
dic[locals[car[0]]] = dic.get(locals[car[0]],0) + 1
print(dic)

作业 4 答案

作业五:现有演艺工作者的收入信息

  YanYi = {"范冰冰": 10, "倪妮": 11, "姑姑": 12, "古校长": 4.5}
  1 .计算平均收益
  2 .小于平均值的演艺工作者删掉
  3.响应党和国家号召,打击偷税漏税,删除范冰冰

  • 方法一
 list_yan = []  # 存储字典当中的 键 信息
def Test():
sum = 0
avg = 0
for i in YanYi:
list_yan.append(i)
# 把字典中的键 遍历出来添加到集合中,目的:为了后面for循环删除字典中的信息
# 注意点:如果直接删除,会出现错误
sum += float(YanYi[i])
avg = sum / len(YanYi)
for j in list_yan:
if float(YanYi[j]) < avg:
YanYi.pop(j)
if '范冰冰' in YanYi: #判断 范冰冰是否在字典中
del YanYi['范冰冰']
print("演艺信息修改后为:")
print(YanYi)
print("------------------------------------")
print("平均收入为")
print(avg) if __name__ == '__main__':
YanYi = {"范冰冰": 25, "倪妮": 20, "姑姑": 10, "古校长": 5}
# print(list(YanYi))
print("演员初始信息为:")
print(YanYi)
print("------------------------------------")
Test()

作业 5 答案 1

  • 方法二
 YanYi = {}  # 存储演员基本信息的字典
list_yan = [] #存储字典当中的 键 信息
list_name = [] #存储演员名称的列表
list_income = [] #存储演员收入的列表
def input_info(): # 建立演员基本信息
print("-"*68)
print("请按照要求输入演员基本信息,输入Q/q停止录入信息")
print("友情提示:")
print("为响应党和国家号召,打击偷税漏税,输入范冰冰信息,最后结果不显示")
print("-" * 68)
while True: # 循环输入演员基本信息
name = input("请输入演员名称:")
if name in list_name: # 如果输入的序号已经存在,请重新输入
print("此演员已有,请重新输入")
# python中break和continue的用法和区别详解 https://blog.csdn.net/wls666/article/details/90408393
continue # 只结束本次循环,并不终止整个循环(while循环)的执行
else:
list_name.append(name)
if name.upper() == "Q": # 如果输入的值等于q或Q,则停止录入景点信息 upper()函数是转换为大写字符 lower()小写
break # 跳出while循环
income = input("请输入演员收入:")
if income.upper() == "Q":
break
list_income.append(income) def Test():# 题目中 要求的 信息的方法
sum = 0
avg = 0
for i in YanYi: # 把字典转换成集合
list_yan.append(i)
sum += float(YanYi[i])
avg = round(sum / len(YanYi),3)
for j in list_yan:
if float(YanYi[j]) < avg :
YanYi.pop(j)
if '范冰冰' in YanYi: #判断 范冰冰是否在字典中
del YanYi['范冰冰']
print("演艺信息修改后为:")
print(YanYi)
print("------------------------------------")
print("平均收入为")
print(avg)
if __name__ == '__main__':
input_info()
YanYi= dict(zip(list_name,list_income))
print("演员初始信息为:")
print(YanYi)
print("------------------------------------")
Test() # 调用Test()函数

作业 5 答案 2 升级版

最新文章

  1. Node.js入门笔记(1):基本概念
  2. A Taxonomy of Parallel Processor Architectures
  3. 【翻译】configuration changes与handler.post
  4. INSERT INTO 语句的语法错误【 OLE报错,office终端执行SQL没有问题】
  5. js 中数字问题
  6. 随机生成数字(ashx文件,调用上篇所写发送邮件代码)
  7. winform 调用http 通过代理出现的一系列问题
  8. Mysql 存储程序
  9. 利用QObject反射实现jsonrpc
  10. 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客
  11. SQL 结构化查询语言手册
  12. MAVEN Scope使用
  13. CentOS的启动流程
  14. Git首次配置
  15. 第十二章 Java内存模型与线程
  16. 老罗最新发布了“子弹短信”这款IM,主打熟人社交能否对标微信?
  17. 用js实现博客打赏功能
  18. Python开发环境Linux配置
  19. 从mysql读取数据写入mongo
  20. js 逻辑运算符

热门文章

  1. POI2010 Bridges
  2. CSS Pixel 和 Device pixels
  3. 爬虫界的福利--touchRobot,机器模拟触碰滑动库(已开源)
  4. Cesium官方教程6--相机
  5. C++在线编程网站
  6. LC 918. Maximum Sum Circular Subarray
  7. Spring Bootz之热部署
  8. 003-结构型-01-适配器模式(Adapter)
  9. KDChart example
  10. osg fbx 模型结构操作