一、实验目的和要求
(一)目的
通过函数的设计,熟练掌握函数的使用,进一步了解函数的各类参数、及参数传递过程,实现减少程序的代码量,同时提高程序执行时的效率和可维护性。
(二)要求
1掌握函数的定义
2掌握函数的调用
3掌握函数的形参、实参及返回值
4掌握位置参数
5掌握序列作为参数
二、实验内容及步骤
1编写函数,求出一个数除1和自身以外的因子。从键盘输入一个数,调用该函数输出除1和它自身以外的所有因子。
2编写两个函数,分别求两个整数的最大公约数和最小公倍数,在主函数调用这两个函数,并输出结果。两个整数由键盘输入。
3编写程序,利用元组作为函数的返回值,求系列类型的最大值、最小值和元素个数,并编写测试代码。假设测试数据分别为:
S1=[9,7,8,3,2,1,55,6]
S2=[“apple”,“pear”,“melon”,“kiwi”]
S3=”TheQuickBrownFox”。
程序运行效果如下所示:
List =[9,7,8,3,2,1,55,6]
最大值=55,最小值=1,元素个数=8
List =[“apple”,“pear”,“melon”,“kiwi”]
最大值= pear,最小值= apple,元素个数=4
List =“TheQuickBrownFox”
最大值=x,最小值=B,元素个数=16
提示:
函数形参为系列类型,返回值形如“(最大值,最小值,元素个数)”
三、实验代码清单
1、def Yin_zi(num):
for i in range(2,num):
if num%i==0:
print(i)
num1=int(input("请输入一个数:"))
Yin_zi(num1)
2、def hcf(x, y):
"""该函数返回两个数的最大公约数"""
if x > y:
smaller = y
else:
smaller = x
for i in range(1, smaller + 1):
if ((x % i == 0) and (y % i == 0)):
hef=i
return hef
def lcm(x,y):
"""该函数返回两个数的最小公倍数"""
t=int(x*y/hcf(x,y))
return t
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print(num1, "和", num2, "的最大公约数为", hcf(num1, num2))
print(num1, "和", num2, "的最小公倍数为", lcm(num1, num2))
3、def Max_num(s):
return max(s)
def Min_num(s):
return min(s)
def Len_num(s):
return len(s)
s1=[9,7,8,3,2,1,55,6]
s2=["apple","pear","melon","kiwi"]
s3="TheQuickBrownFox"
print("s1="+str(s1))
print("")
print("最大值="+str(Max_num(s1))+",最小值="+str(Min_num(s1))+",元素个数="+str(Len_num(s1)))
print("s2="+str(s2))
print("")
print("最大值="+str(Max_num(s2))+",最小值="+str(Min_num(s2))+",元素个数="+str(Len_num(s2)))
print("s3="+str(s3))
print("")
print("最大值="+str(Max_num(s3))+",最小值="+str(Min_num(s3))+",元素个数="+str(Len_num(s3)))
四、实验运行结果
1
2
3
本文来自博客园,作者:一路向北~~,转载请注明原文链接:https://www.cnblogs.com/ylxb2539989915/p/16338543.html