課程
/后端開發
/Python
/初識Python
為什么偶數次能實現,奇數次實現不了
2018-04-10
源自:初識Python 7-5
正在回答
def hanoi(n,x,y,z):
? ? global i
? ? if n == 1:
? ? ? ? print(x,'--->',z)
? ? ? ? i += 1
? ? else:
? ? ? ? hanoi(n-1,x,z,y) ?#將前n-1個盤子從x移動到y上
? ? ? ? print(x,'--->',z)#將最低下的最后一個盤子從x移動到z上
? ? ? ? i +=1
? ? ? ? hanoi(n-1,y,x,z) ?#將y上的n-1個盤子移動到z上
? ? return i
while True:
? ? number = int(input('請輸入漢諾塔層數:'))
? ? i = 0
? ? i=hanoi(number,'x','y','z')
? ? print('總共最少移動多少次:',i)
qq_小天_24
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-04-10
def hanoi(n,x,y,z):
? ? global i
? ? if n == 1:
? ? ? ? print(x,'--->',z)
? ? ? ? i += 1
? ? else:
? ? ? ? hanoi(n-1,x,z,y) ?#將前n-1個盤子從x移動到y上
? ? ? ? print(x,'--->',z)#將最低下的最后一個盤子從x移動到z上
? ? ? ? i +=1
? ? ? ? hanoi(n-1,y,x,z) ?#將y上的n-1個盤子移動到z上
? ? return i
while True:
? ? number = int(input('請輸入漢諾塔層數:'))
? ? i = 0
? ? i=hanoi(number,'x','y','z')
? ? print('總共最少移動多少次:',i)