1.定义一个无参函数,输出“欢迎您的到来!”,然后在主程序中调用该函数。
def hello():
print("欢迎您的到来!")
hello()
结果:
欢迎您的到来!
2.定义一个函数,参数为一个实数,代表一个摄氏温度值,将它转换为一个华氏温度值,
并返回该值(F = 1.8C + 32)。在主程序中调用该函数。
def Temperature():
flag = int(input("请选择输入:1-摄氏温度转换为华氏温度,2-华氏温度转换为摄氏温度:"))
#将摄氏温度转换为华氏温度
if flag == 1:
celsius = float(input("请输入摄氏温度:"))
fahrenheit = celsius*1.8+32
print("转换后华氏温度为:",fahrenheit,"℉")
#将华氏温度转换为摄氏温度
elif flag == 2:
fahrenheit = float(input("请输入华氏温度:"))
celsius = (fahrenheit-32)/1.8
print("转换后摄氏温度为:",celsius,"℃")
Temperature()
def Temperature(C):
return 1.8*C + 32 #将摄氏温度转换为华氏温度
C=float(input("请输入摄氏温度:"))
print("摄氏温度转换为华氏温度为",Temperature(C))
结果:
请输入摄氏温度:5
摄氏温度转换为华氏温度为 41.0
3.编写具有默认值参数的求和函数sum1,默认求[1,100]区间内所有整数的和。
另外,再输入参数,求区间[2,8]内所有整数的和
def sum1(a=1,b=101):
print(sum(range(a,b)))
print("默认求[1,100]区间内所有整数的和:")
sum1()
print("区间[2,8]内所有整数的和:")
sum1(2,8)
结果:
默认求[1,100]区间内所有整数的和:
5050
区间[2,8]内所有整数的和:
27
4.编写不定长参数求平均值的函数avg。例如:avg(1,2,3)
def avg(*p):
return sum(p)/len(p)
print("平均值:",avg(1,2,3,8,9))
结果:
平均值: 4.6
5.定义一个函数,函数参数为一个小于10000的正整数,分解它的各位数字,
并以一个元组的形式返回。在主程序中调用该函数。例如,8954 分解成(8,9,5,4)
from random import randint
def varPara(n):
x=randint(1,10000)
a,b,c,d = map(int,str(x))
print(tuple({a,b,c,d}))
varPara(*x)
x=eval(input())
x=str(x)
print (x[0],x[1],x[2])
6. 使用函数完成一个0~n之间的奇数的积。
n=int(input("请输入n可以得到0-n之间奇数的积:"))
i=1
def ji(n,):
j=1
while j<=n:
if j%2==1:
global i
i*=j
j+=1
print("0-{}的奇数积是:{}".format(n,i))
ji(n)
结果:
请输入n可以得到0-n之间奇数的积:5
0-5的奇数积是:15
7.【附加,有难度】某路公共汽车,总共有八站,从一号站发车时车上已有n位乘客,
到了第二站先下一半乘客,再上来了六位乘客;到了第三站也先下一半乘客,
再上来了五位乘客,以后每到一站都先下车上已有的一半乘客,
再上来了乘客比前一站少一个……,到了终点站车上还有乘客六人,
问发车时车上的乘客有多少?
#递归出口:终点站有六名乘客
#递归体:num(i)=(num(i+1)-8+i)*2 //计算到第i站车上的人数
#那么到达第2站时车上的人数就是发车时车上的乘客数
i=int(input("第几个站:"))
def num(i):
if i == 8: # 终点站
return 6
else:
return (num(i+1)-8+i)*2
print(num(i))
结果:
第几个站:2
144