目录

二老鼠打洞

来自计算机的问候-任意数量参数

自定义幂函数

来自计算机的问候-多参函数

编写函数输出自除数

最大素数

求数列前n项的平方和

生兔子

计算圆周率——割圆法

数列求前n项和

素数:


*如有错误请私聊纠正

二老鼠打洞

n=int(input())# 每日打洞量,所需天数big,small,day,time=1,1,0,1# 各自总共打洞量distance_of_big,distance_of_small=0,0# 洞未打完 循环while n>0: # 第一天打完的情况单独考虑if n-big-small<0:time=n/(big+small)# 剩余洞长n=n-big-smalldistance_of_small=distance_of_small+small*timedistance_of_big=distance_of_big+big*timebig*=2small*=0.5day=day+1print(day)print(round(distance_of_small,1),round(distance_of_big,1))

来自计算机的问候-任意数量参数

def say_hi_multi_parameter(*names):# 括号里填空"""定义一个不定参数传递函数,可接收不限数量的参数。"""for name in names: # 遍历输出,观察结果print(name+",你好!")say_hi_multi_parameter('孟浩然')say_hi_multi_parameter('杜甫', '李白', '柳宗元', '李商隐')

自定义幂函数

x, n = input().split()x = int(x)n = int(n)answer = xif n == 0:answer = 1elif n == 1:answer = xelse:for i in range(n - 1):answer= answer * xprint(answer)

来自计算机的问候-多参函数

def say_hi_gender(full_name, gender):"""定义一个名为say_hi_gender的有参数函数,根据性别gender值确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”返回值为替换了姓名与称谓的欢迎字符串例如:尊敬的李白先生,欢迎来到火星!"""if gender =="男":return f"尊敬的{full_name}先生,欢迎来到火星!"elif gender =="女":return f"尊敬的{full_name}女士,欢迎来到火星!"else:return f"尊敬的{full_name}先生/女士,欢迎来到火星!"#=======================================================#=======================================================# 函数名作为print()函数的参数,输出say_hi_gender()的返回值person_name = input()# 输入人名,如输入:李白person_gender = input() # 输入性别,如输入:男print(say_hi_gender(person_name, person_gender)) # 调用函数,输出函数的返回值

编写函数输出自除数

def selfDivisor(num):t=str(num)if '0' in t:return 0for i in t:if num%int(i)!=0:return 0return 1 n=int(input())ls=[]for i in range(1,n+1):if selfDivisor(i):print(i,end=" ")

最大素数

def isPrime(n): for i in range(2,int(n/2)):if n%i == 0: return False break return Truea = int(input())i = awhile i >= 2: if isPrime(i):print (i)break i-=1

求数列前n项的平方和

n=eval(input())n=n+1s=0for i in range(1,n):s=s+i*iprint(s)

生兔子

def fun(n):#在前两个月兔子的对数都为1if n <= 2:return 1else:# 由数据的规律可知,第三个数的结果都是前两个数之和,所以进行递归叠加return fun(n-1) + fun(n-2)#获取输入的月数num = int(input())#计算前一个月和后一个月的比值match = fun(num-1)/fun(num)match = round(match, 4)match = ("%.4f" % match)#print(match)match = str(match).split(".")[0] + "." + str(match).split(".")[1][:3]#print(f"{fun(num)} {match}")

计算圆周率——割圆法

import mathdef cutting_circle(times):# times为分割次数side_length = 1 # 初始边长edges = 6# 初始边数def f(x): ## 由当前边长,求割后边长h = 1 - math.sqrt(1 - (x / 2) ** 2)return math.sqrt(h ** 2 + (side_length / 2) ** 2) for i in range(times):side_length = f(side_length)edges *= 2pi = edges*side_length/2return edges, piif __name__ == '__main__':times = int(input()) # 割圆次数print('分割{}次,边数为{},圆周率为{:.6f}'.format(times, *cutting_circle(times))) # 圆周率print('math库中的圆周率常量值为{:.6f}'.format(math.pi)) 

出租车:

a,b=map(int,input().split(','))ans=0if a>15:ans+=(a-15)*2.3*1.5a=15if a>3:ans+=(a-3)*2.3a=3ans+=13ans+=bprint(int(ans))

数列求前n项和

n=int(input())sum=0fz=2fm=1for i in range(n):sum=sum+fz/fm fm,fz=fz,fz+fmprint(sum)

素数:

def isPrime(n): # 定义判断素数的函数for i in range(2,int(n**0.5)+1):if n%i==0:return 0return 1 num = int(input())# 接收用户输入并转成整数for i in range(2,num+1):if isPrime(i)==1:print(i,end=' ')

‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬说明此题目来自【Python123】,答案为自己创作,不产生任何商业利益,如有侵权,请联系删除。Python123 – 编程更简单Python123 是面向新工科教学需求的计算机类基础课程教学辅助平台。支持全国计算机二级 python 考试自学与备考,还向合作教师与高校提供精品教学资源、全系列课程内容、全流程教学工具,支撑课程教学管理、练习、考试、教学研究等实际需求,为国家级、省部级一流课程提供教学研究数据支撑。https://python123.io/