(1)请编写一个函数`cacluate`, 可以接收任意多个数, 函数返回一个二元组:第一个值为所有参数的平均值, 第二个值是大于平均值的所有数。以输入12,13,14,15,16为例,调用`calculate`函数。
def calculate():
while True:
try:
line = 1
list_num = []
list_avg = []
c = 0
while True:
a = input("请输入第"+str(line)+"个数字(输入stop以停止):")
if a == "stop":
break
else:
b = float(a)
list_num.append(b)
line = line + 1
for i in list_num:
c = c + i
average = c / len(list_num)
for j in list_num:
if j > average:
list_avg.append(j)
print("(",average,",",list_avg,")")
except ValueError:
print("按要求输入!")
calculate()
(2)完成猜数字游戏代码,并说明程序的设计思路。
在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“你猜的数字大于正确答案”;小于预设的数,显示“你猜的数字小于正确答案”,如此循环,直至猜中该数,显示“你猜了N次,猜对了,真厉害”,其中N是用户输入数字的次数,并进行错误处理。
import random
while True:
try:
a = random.randint(1,10) #生成一个0到9的随机整数
b = 1 #预引入一个计数用变量
print("猜数字游戏,正确答案的范围是[0,9]区间内的整数")
while True: #开始循环
c = int(input("请进行第"+str(b)+"次猜测:"))
if c == a:
if b < 10:
print("你猜了",str(b),"次,猜对了,真厉害")
break
else:
print("虽然你猜对了,但是很明显你运气也不咋地")
break #终止循环
elif c > a:
b = b + 1
print("你猜的数字大于正确答案")
else:
b = b + 1 #如果没猜中就要在计数用变量上加一次
print("你猜的数字小于正确答案") #就判断猜出来的数到底是大于,小于还是等于,从而得出结果
except ValueError:
print("按要求输入!") #防止小天才输入错误的数值或字符