湖南大学python头歌实训 实验8:函数
第二章-Python语言基础-2.5函数(二)
(图片来源网络,侵删)
第1关:函数的参数使用
numbers = [] # str用来存储输入的数字字符串,lst1是将输入的字符串用空格分割,存储为列表 str = input() lst1 = str.split(' ') # 将输入的数字字符串转换为整型并赋值给numbers列表 for i in range(len(lst1)): numbers.append(int(lst1.pop())) # 请在此添加函数plus的代码,函数参数为一个列表,对列表中的数值元素进行累加求和 # ********** Begin *********# def plus(n): return sum(n) # 调用plus函数,并将返回结果存储到变量d中 d = plus(numbers) print(d)
第2关:函数的return返回
#coding=utf-8 #输入两个正整数a,b a = int(input()) b = int(input()) # 请在此添加函数gcd代码,求两个正整数的最大公约数 #********** Begin *********# def gcd(a,b): if ab: a,b=b,a y=a%b while y!=0: a=b b=y y=a%b return b #********** End **********# #请在此添加一个public函数lcm(),在lcm()函数中调用_gcd()函数,求两个正整数的最小公倍数 #********** Begin *********# def lcm(a,b): return a*b//_gcd(a,b) #********** End **********# #调用函数,并输出a,b的最小公倍数 print(lcm(a,b))
老演员了
第4关:函数综合训练※
import numpy as np import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt #导入matplotlib.pyplot import matplotlib.image as imgplt # 第一题:求三角形阴影部分面积 # 请编写函数triArea(a ,b , c),返回三角形的面积 def triArea(a ,b , c): #请在下面编写代码 ######## begin ########### p=(a+b+c)/2 Area=(p*(p-a)*(p-b)*(p-c))**0.5 ######## end ############# #请不要修改下面的代码 return Area S1 = triArea(9.8, 9.3, 6.4) S2 = triArea(2.9, 4.1, 4.7) S3 = triArea(2.0, 1.4, 2.3) print('%.6f' %(S1-S2+S3)) print('\n***********************\n') # 第二题:哥德巴赫猜想 # 请编写函数isPrime(x)。判断x是否为素数,如果是素数则返回True否则返回False def isPrime(x): #请在下面编写代码 ######## begin ########### n=1 for i in range(2,int(x**0.5)+1): if x%i==0: n=0 break if n==0: return False else: return True ####### end ############ def Goldbach(N): # 将N分解成两素数之和 if N实验十 函数
第1关:定义判断质数的函数
def isprime(a): #代码开始 flag=1 for i in range(2,int(a**0.5)+1): if a%i==0: flag=0 break if flag==1: return True else: return False n=eval(input("请输入一个数")) if isprime(n): print(n,"是一个质数") else: print(n,"不是一个质数")第2关:绝对质数
from isprime import * #代码开始 def nx(i): y=0 while i>0: y=y*10+i%10 i=i//10 return y n=0 for i in range(10,99): if isprime(i): if isprime(nx(i)): n=n+1 print(i,end=' ') if n%3==0: print('') #代码结束第3关:验证哥赫巴德猜想
from isprime import * #代码开始 def cjr(n): for i in range(2,int(n/2)+1): if isprime(i) and isprime(n-i): print('{:>2}={:>2}+{:>2}'.format(n,i,n-i)+'\t',end='') break n=0 for i in range(4,100,2): n=n+1 cjr(i) if n%5==0: print() #代码结束第4关:判断三角形类型
def triangle_type(a, b, c): # 判断是否能构成三角形 li = [a,b,c] a=li[0] c=li[2] b=li[1] if a + b
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...