python

it2022-05-05  125

# 斐波那契数列 def fbi(n): if n == 1 or n == 2: return 1 else: return fbi(n-1)+fbi(n-2) n = eval(input()) print(fbi(n)) # 将所有输入的数字累乘 def cmul(a,*b): # b 包括除了第一个输入外的所有 m = a for i in b: m *=i return m #print(eval("cmul({})".format(input()))) res = "cmul({})".format(input()) # 貌似传入参数不能是函数,这里传入字符串 print(eval(res)) # 最后res应该是一个字符串相乘的表达式,要转换成数字 # 汉诺塔 steps = 0 # 看成两部分,1和n-1两个整体,用n=2模拟 def hanoi(src, des, mid, n): global steps if n == 1: steps = steps+1 print("[STEP{:>4}] {}->{}".format(steps, src, des)) else: hanoi(src,mid,des,n-1) steps = steps+1 print("[STEP{:>4}] {}->{}".format(steps, src, des)) hanoi(mid,des,src,n-1) N = eval(input()) hanoi("A", "C", "B", N)

 

 

 


最新回复(0)