作业一:三迁举办选“帅气男孩”,评委打分可以输入打分,要求分数必须大于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 升级版

Python习题004的更多相关文章

  1. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  2. Python [习题] 文件操作:目录间copy 文件

    [习题] 指定一个源文件,实现copy到目标目录.例如把/tmp/sample1.txt 拷贝到/tmp/sample2.txt原文件需要有读权限(默认rt权限),目标文件需要给写(w即可)权限. I ...

  3. python习题实例(上)_update18/07/03

    用以记录python学习过程中做过的小习题~ ヾ(◍°∇°◍)ノ゙ 1.生成两个列表,分别存放将100以内的偶数&奇数 odd_number=[] even_number=[] for i i ...

  4. 笨办法学Python - 习题11-12: Asking Questions & Prompting People

    目录 1.习题 11: 提问 2.习题 12: 提示别人 3.总结 1.习题 11: 提问 学习目标:了解人机交互场景,熟悉raw_input 的用法. 1.在 Python2.x 中 raw_inp ...

  5. 笨办法学Python - 习题8-10: Printing & Printing, Printing

    目录 1.习题 8: 打印,打印 2.习题 9: 打印,打印,打印 3.习题 10: 那是什么? 3.1.转义序列: 4.习题总结: 1.习题 8: 打印,打印 学习目标:继续学习 %r 的格式化输出 ...

  6. 笨办法学Python - 习题6-7: Strings and Text & More Printing

    目录 1.习题 6: 字符串(string) 和文本 2.加分习题: 3.我的答案 4.习题总结 5.习题 7: 更多打印 6.习题总结 1.习题 6: 字符串(string) 和文本 学习目标:了解 ...

  7. 笨办法学Python - 习题5: More Variables and Printing

    1.习题 5: 更多的变量和打印 学习目标:了解用户输入方法,明白pthon2和Python3之间的用户输入的区别.了解格式化字符串(format string)的概念,学会如何创建包含变量内容的字符 ...

  8. 笨办法学Python - 习题4: Variables and Names

    1.习题 4: 变量(variable)和命名 学习目标:了解Python中变量的定义,学习定义简明易记的变量名 变量:变量是存储内存中的值,就是每定义一个变量就会在内存中开辟一个空间.基于变量的类型 ...

  9. 笨办法学Python - 习题3: Numbers and Math

    目录 习题 3: 数字和数学计算 算术运算符 加分习题: 我的答案: 总结: 扩展: Python比较运算符 Python赋值运算符 Python位运算符 Python逻辑运算符 Python成员运算 ...

随机推荐

  1. ansible 错误记录(1)

    基本环境:docker基于centos7 在docker里面安装ansible 不管是在root还是普通用户下执行 ansible all -m ping  都报如下错误: 172.20.1.1 | ...

  2. 走进JavaWeb技术世界9:Java日志系统的诞生与发展

    本文转自[码农翻身] ## 一个著名的日志系统是怎么设计出来的? # 1前言 Java帝国在诞生之初就提供了集合.线程.IO.网络等常用功能,从C和C++领地那里吸引了大量程序员过来加盟,但是却有意无 ...

  3. Fiddler is not capturing web request from Firefox

    Fiddler is not capturing web request from Firefox You can also get the FiddlerHook plug in for Firef ...

  4. activemq jmx

    增加: -Djava.rmi.server.hostname=<IP addr>

  5. 寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现。本文记录HAProxy服务热加载后某微服务50%概率失效的问题。设计3组对比实验,验证了陈旧配置的HAProxy在Reload时没有退出进而导致微服务丢失,并给出了解决方案. Keywords:HAProxy热加

    寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现.本文记录HAPro ...

  6. nineoldandroids开源库

    Android3.0 推出AnimationAPI ,使用起来比较方便,但是不能再3.0以下版本中使用.nineoldandroids开源库可以在任意版本上使用,官网地址:http://nineold ...

  7. JavaScript的深拷贝

    javaScript的拷贝有浅拷贝和深拷贝.拷贝我们一般拷贝对象,获取对象的内容(字段.函数)都给复制一遍 浅拷贝:一般只是简单的赋值 //浅拷贝 var obj1={name:"cat&q ...

  8. 30 Flutter自定义Dialog

    MyDialog.dart import 'dart:async'; import 'package:flutter/material.dart'; class MyDialog extends Di ...

  9. markdown 测试博客发布

    这是一个测试页面 无序列表 tet test 有序列表 特使团 tetst 引用 This is a test 插入图片 插入链接 baidu 粗体 这是粗体 斜体 这是斜体 表格 IP VIP 备注 ...

  10. (七)UML之用例图

    用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. ...