目录
二老鼠打洞
来自计算机的问候-任意数量参数
自定义幂函数
来自计算机的问候-多参函数
编写函数输出自除数
最大素数
求数列前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/