#计算任意个输入数字的乘积
def cmul(*a):#notice the use of changeable value
s=1
for i in a:
s*=i
return s #notice the space signs the layer of the program
print(eval("cmul({})".format(input())))
print(eval("cmul({})".format(input())))
def cmul(*a):
notice the use of changeable value获取用户输入整数N,其中,N为正整数
计算斐波那契数列的值
def fbi(n):
answer=1 if n==1 or n==2 else fbi(n-1)+fbi(n-2)
return answer
n = eval(input())
print(fbi(n))
a, b, c = 1, 2, 3
if a>b:
c = a
else:
c = b
# means
c = a if a>b else b
question
汉诺塔问题大家都清楚,这里不再赘述。
代码要求完成如下功能:
有三个圆柱A、B、C,初始时A上有N个圆盘,N由用户输入给出,最终移动到圆柱C上。
每次移动步骤的表达方式示例如下:[STEP 10] A->C。其中,STEP是步骤序号,宽度为4个字符,右对齐。
请编写代码,获得输入N后,输出汉诺塔移动的步骤。
输入格式 : 一个整数
输出格式 : 每个步骤一行,每行参考格式如下:[STEP 10] A->C
steps = 0
def hanoi(src, des, mid, n):
global steps # the func inside the func makes it necessary to use the global variable
if n == 1:
steps+=1#actually handle 1-> des;steps++
print("[STEP{:>4}] {}->{}".format(steps, src, des))
else:
hanoi(src,mid,des,n-1)# 1~n-1 src -> mid
steps+=1#actually handle n->des;steps++
print("[STEP{:>4}] {}->{}".format(steps,src,des))#n->des
hanoi(mid,des,src,n-1)# 1~n-1 mid -> des
N = eval(input())
hanoi("A", "C", "B", N)
global variable
:the func inside the func makes it necessary to use the global variable