亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

不知道錯哪了

def move(n, a, b, c):

? ? def fact(n):

? ? ? ? t1=='a-->b'

? ? ? ? t2=='b-->c'

? ? ? ? t3=='a-->c'

? ? ? ??

? ? ? ? if n==1:

? ? ? ? ? ? print t1

? ? ? ? elif n>1:

? ? ? ? ? ? print t1

? ? ? ? ? ? print (n-1)*t2

? ? ? ? ? ? print (n-1)*t3


move(4, 'A', 'B', 'C')


正在回答

4 回答

您理解錯啦,a,b,c是形參,不是實參,我參考了知乎上的一位答主對于漢諾塔遞歸的解釋https://www.zhihu.com/question/24385418

附上我的代碼,供您參考

def move(n, a, b, c):

? ? if n <= 0 :

? ? ? ? return "the number must larger than zero !"

? ? elif n == 1 :

? ? ? ? print a, '-->',? c

? ? ? ? return?

? ? else :

? ? ? ? move(n-1, a, c, b)

? ? ? ? print a, '-->', c

? ? ? ? move(n-1, b, a, c)


move(4, 'A', 'B', 'C')


0 回復 有任何疑惑可以回復我~

def move(n,a,b,c):
if n>1:
return (“a—>b”,“b—>c”,“a—>c”)
elif n>0:
return (“a—>c”)
else:
return (“error ”)
print (move (4,“A”,“B”,“C”))

0 回復 有任何疑惑可以回復我~

定義的第二個函數沒有意義,刪掉;t1t2t3應該是賦值,要用單等號。改完再調整一下空格就可以有結果了,但是這個結果和思路都是錯的。這道題的思路不是這么簡單的一個一個挪,建議去查一下漢諾塔問題定義,有順序要求的。參考別的大佬的代碼,應該可以看懂

1 回復 有任何疑惑可以回復我~

這段代碼真是天馬行空,看得人眼花繚亂,頭暈目眩

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758398    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

不知道錯哪了

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號