python 第三次作业

习题1:

**1.初始化一个数据集,包括5-10位同学的成绩数据(数据类型不限),数据格式如下:

**学号 姓名 Java C语言 Python
2017XXXX 小白 87 68 92
2017XXXX 小黄 80 76 83
2017XXXX 小王 75 91 61
2017XXXX 小陈 67 80 74
......
......

要求:学号的后四位,各科成绩(区间:60-100)用随机数产生。

2.增加平均成绩一栏,计算各科成绩平均值,要求输出格式为(示例):
学号 姓名 Java C语言 Python 平均成绩
20170021 小白 87 68 92 82.33

3.统计全体学生的各科的平均成绩,最大值和最小值,输出格式自定。

 1 import random as r
 2 
 3 # 1.初始化一个数据集,包括5-10位同学的成绩数据(数据类型不限),数据格式如下:
 4 # 学号      姓名  Java  C语言    Python
 5 # 2017XXXX 小白  87    68      92
 6 # 2017XXXX 小黄  80    76      83
 7 # 2017XXXX 小王  75    91      61
 8 # 2017XXXX 小陈  67    80      74
 9 # ......
10 # ......
11 # 要求:
12 # 1.学号的后四位,各科成绩(区间:60-100)用随机数产生。
13 # 2.增加平均成绩一栏,计算各科成绩平均值,要求输出格式为(示例):
14 # 学号      姓名 Java C语言 Python 平均成绩
15 # 20170021 小白 87    68   92     82.33
16 # 3.统计全体学生的各科的平均成绩,最大值和最小值,输出格式自定。
17 
18 name_list_1 = ["", "", "", "", "", ""]
19 name_list_2 = ["", "", "", "", "", ""]
20 java_sum = []
21 Cyy_sum = []
22 pyt_sum = []
23 print("学号        姓名  Java  C语言  Python  平均成绩")
24 j = r.randint(5, 10)
25 for i in range(j):
26     name = r.choice(name_list_1)+r.choice(name_list_2)
27     number = 20170000+r.randint(0, 9999)
28     java = r.randint(60, 100)
29     Cyy = r.randint(60, 100)
30     pyt = r.randint(60, 100)
31     java_sum.append(java)
32     Cyy_sum.append(Cyy)
33     pyt_sum.append(pyt)
34     avg = "%.2f" % ((java+Cyy+pyt)/3)
35     print(number, name.center(6), format(java, '<5'), format(Cyy, '<5'), format(pyt, '<7'), format(avg, '<5'))
36 
37 avg_1 = sum(java_sum)/len(java_sum)
38 avg_2 = sum(Cyy_sum)/len(Cyy_sum)
39 avg_3 = sum(pyt_sum)/len(pyt_sum)
40 
41 max_1 = max(java_sum)
42 min_1 = min(java_sum)
43 
44 max_2 = max(Cyy_sum)
45 min_2 = min(Cyy_sum)
46 
47 max_3 = max(pyt_sum)
48 min_3 = min(pyt_sum)
49 
50 print("\n java的平均成绩为:%.2f" % avg_1)
51 print("\n C语言的平均成绩为:%.2f" % avg_2)
52 print("\n python的平均成绩为:%.2f" % avg_3)
53 print("\n java的成绩最高为:%.2f,成绩最低为:%.2f" % (max_1, min_1))
54 print("\n C语言的成绩最高为:%.2f,成绩最低为:%.2f" % (max_2, min_2))
55 print("\n python的成绩最高为:%.2f,成绩最低为:%.2f" % (max_3, min_3))

 

习题2:
设计一个人民币与美元兑换程序(汇率按6:1),要求从键盘上输入人民币(用Y表示)或美元(用$表示)的金额,然后输出兑换后的数值。
要求增加异常处理功能(异常捕捉方法不限),能够对输入的非法数据(符号)进行异常捕捉,并输出错误类型。

 1 # 设计一个人民币与美元兑换程序(汇率按6:1),要求从键盘上输入人民币(用Y表示)或美元(用$表示)的金额,然后输出兑换后的数值。
 2 # 要求增加异常处理功能(异常捕捉方法不限),能够对输入的非法数据(符号)进行异常捕捉,并输出错误类型。
 3 coin = input("请输入要转换的货币('¥'or'$'):")
 4 try:
 5     eval(coin[1:])
 6 except NameError:
 7     print("发现异常,第二位输入数字")
 8 except IOError:
 9     print("发现异常,输入错误")
10 except Exception:
11     print("错误")
12 if coin[0] in ['']:
13     dollar = eval(coin[1:]) / 6
14     print("${:.2f}".format(dollar))
15 elif coin[0] in ['$']:
16     rmb = 6 * eval(coin[1:])
17     print("'¥'{:.2f}".format(rmb))
18 else:
19     print("错误,第一位输入¥或$")

 

 

码云地址: https://gitee.com/BURY--18/Ch_18forever.git

posted @ 2019-04-07 14:13  BURY_1  阅读(262)  评论(0编辑  收藏  举报