接下来我将整理出几道比较基础的函数训练题巩固一下python中的函数运用。
(反向输出)的问题,输入一个整数,让其反向输出,例如:输入2345,输出5432.拿到这题,首先想到两种方法:一是将整数当作字符串逆序输出,二是将整数通过除十取余的方法将个十百千万位数逐个输出。下面请看代码:
def f(x): #除十取余方法输出
while int(x)>0:
print(int(x%10),end='') #保证回车不输出,确保后一个print完整运行
x=x/10
print()
return
while True:
n=int(input())
f(n)
def f(x): #字符串反向输出
lens=len(x)-1 #因为代码字符串的其实序数是从0开始,因此len(x)是保证首尾一一对应
for i in range (len(x)):
print (x[lens-i],end='')
print()
return
while True:
n=input()
f(n)
(判断是否为回文函数的问题)如果一个数字的反向倒置数和他的顺向数一样,这个数被称作回文数。编写一个测试程序,提示用户输入一个整数值,然后报告这个整数是否是回文数。根据回文数的特点,我用的是将该数字看做多个字符串组成,判断首尾两两一一对应字符串是否相等。
def f(x): #用来判断字符串是否为回文的函数
lens=len(x)
for i in range(lens): #若是回文就会运行完整个字符串 lens-1
if x[i]!=x[lens-i-1]:
break
if i==lens-1: #若i==lens-1则运行完 为回文
print("该字符串为回文")
else :print("该字符串不为回文")
while(True):
x1=input()
f(x1) #调用函数
编写一个测试程序,转换公式为:华氏度=(9.0/5)*摄氏度+32
运用函数来显示如下表格:
摄氏度 华氏度 华氏度 摄氏度
40.0 40.0 120.00 120.0
39.0 39.0 110.00 110.0
38.0 38.0 100.00 100.0
37.0 37.0 90.00 90.0
36.0 36.0 80.00 80.0
35.0 35.0 70.00 70.0
34.0 34.0 60.00 60.0
33.0 33.0 50.00 50.0
32.0 32.0 40.00 40.0
31.0 31.0 30.00 30.0
def f(a,b):
a=(9.0/5)*a+32 #a为摄氏度
b=(b-32)/(9.0/5) #b为华氏度
return a,b
sheshi=[40.0,39.0,38.0,37.0,36.0,35.0,34.0,33.0,32.0,31.0]
huashi=[120,110,100,90,80,70,60,50,40,30]
print("摄氏度\t华氏度\t\t华氏度\t摄氏度“)
for i in range(10):
c,d=(sheshi[i],huashi[i])
print("%5.1f\t%5.1f\t\t%6.2f"%(sheshi[i],c,huashi[i],d))
今天新收获第一是设置两个参数的函数用f(a,b)表示;
收获之二是要再次强调return的用法,一次代码块中只能使用一个return,并且用完代码后不可再用。
收获之三是关于“\t”在python中相当于一个tab键,以此来对其做出题目要求的漂亮格式。
收获之四是“%5.2f”中5表示所有数字的位数,而2表示小数点后的位数。
(英尺和米之间的转换)编写一个类,转换公式如下:
1米=0.305*英尺数
编写一个测试程序,用来显示下面的表格:
英尺 米 米 英尺
1.0 0.305 20.0 65.574
2.0 0.610 25.0 81.967
3.0 0.915 30.0 98.361
4.0 1.220 35.0 114.754
5.0 1.525 40.0 131.148
6.0 1.830 45.0 147.541
7.0 2.135 50.0 163.934
8.0 2.440 55.0 180.328
9.0 2.745 60.0 196.721
10.0 3.050 65.0 213.115
代码如下:
def f(m,n):
m=0.305*m #m为英尺数
n=n/0.305 #n为米
return m,n
yingchi=[1,2,3,4,5,6,7,8,9,10]
mi=[20,25,30,35,40,45,50,55,60,65]
print("英尺\t 米\t\t 米\t 英尺")
for i in range (10):
x,y=f(yingchi[i],mi[i])
print("%3.1f\t%5.3f\t\t%3.1f\t%6.3f"%(yingchi[i],x,mi[i],y))
今天的收获是不仅可以用\t来表示空格(4个空格)还可以运用空格键来调整序列表的位置。巩固了昨天学的内容。