第一寫程式 小白崩潰

2021-09-29 20:16:36 字數 2080 閱讀 5430

遊戲:漢諾塔,要求函式接收引數n,表示3個柱子a、b、c中第1個柱子a的盤子數量,然後列印出把所有盤子從a借助b移動到c的方法。

#總步數計算函式

#函式說明:根據歸納法可知n-m形成遞迴函式關係:mn=2*m(n-1)+1

#引數說明:n-a柱初始總盤子數量值,m-總步數計算輸出值

def f_bushu(n):

if n>0:

return f_bushudigui(n,1)

else:

print(『n值小於1,非正常值』)

def f_bushudigui(n,m):

if n==1:

return m

return f_bushudigui(n-1,2*m+1)

#列表元素轉換函式

#函式說明:fbc()函式功能:將列表中的bc互換,例:a-b換成a-c;同理fba()函式功能為ba互換。

#測試:h=[『a-b』,『a-c』,『b-c』]

def fbc(ln):

x=len(ln)

if x>0:

while x>0:

x=x-1

if ln[x-1]『a-b』:

ln[x-1]=『a-c』

elif ln[x-1]『a-c』:

ln[x-1]=『a-b』

elif ln[x-1]『b-a』:

ln[x-1]=『c-a』

elif ln[x-1]『b-c』:

ln[x-1]=『c-b』

elif ln[x-1]『c-a』:

ln[x-1]=『b-a』

elif ln[x-1]『c-b』:

ln[x-1]=『b-c』

else:

print(『輸入列表為空,非正常輸入』)

return ln

def fba(ln):

x=len(ln)

if x>0:

while x>0:

x=x-1

if ln[x-1]『a-b』:

ln[x-1]=『b-a』

elif ln[x-1]『a-c』:

ln[x-1]=『b-c』

elif ln[x-1]『b-a』:

ln[x-1]=『a-b』

elif ln[x-1]『b-c』:

ln[x-1]=『a-c』

elif ln[x-1]『c-a』:

ln[x-1]=『c-b』

elif ln[x-1]『c-b』:

ln[x-1]=『c-a』

else:

print(『輸入列表為空,非正常輸入』)

return ln

#具體步驟列印函式

#函式說明:由於存在a/b/c三個盤子,故移動的方式有六種,即「[『a-b』『a-c』『b-a』『b-c』『c-a』『c-b』],

######### 採用list列表形式儲存及輸出列印步驟,盤子數為n時,設列表ln為此時的輸出內容,

######### 根據歸納法,可發現當盤子數為n+1時,此時列表ln+1的輸出內容為fbc(ln)+[『a-c』]+fba(ln)

def f_buzhou(n):

if n<1:

print(『非正常盤子數值,錯誤輸入』)

elif n==1:

ln=[『a-c』]

return ln

else:

ln=[『a-c』]

ln[0:0]=fbc(f_buzhou(n-1))

ln[len(ln):len(ln)]=fba(f_buzhou(n-1))

return ln

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

if n==1:

print(a,』–>』,c)

else :

hanoi(n-1,a,c,b)

hanoi(1,a,b,c)

hanoi(n-1,b,a,c)

print('please enter the level of hanoi: ')

i=int(input())

hanoi(i,『a』,『b』,『c』)

我是傻 逼+憨 逼,我崩潰了

第一寫部落格

說一下python 與c或c 在語法上的一些不同之處。在python中不會出現像c或c 一樣麻煩的規定符號 一些指令也要簡便許多。在python中 當你打出 按下回車時 電腦會自動幫助你縮排一格 縮排使得python的語言顯得非常精簡 當然要正確使用 否則會報錯 當你輸入pr時按下tab 電腦會自動...

隨便寫一寫

簡單的來說,就是公私合營的一種模式。針對大型的公共設施建設,這種模式有著很大的優點。天子山鎮因其坐落於著名的天子山腳下而得名,鎮區內分布著奇特的石英砂巖峰林地貌 茂密的原始森林和清澈的溪流,自然村落形成的田園風光獨具特色,當地流傳的向王天子傳說 土家山寨和集鎮上臨街而建的吊腳樓 青石板人行街道 古香...

字元陣列的一寫特性

字元陣列是元素型別為字元的陣列,它既具有普通陣列的一般性質,又具有某些特殊性質。字串常量是用雙引號包圍的字串行。儲存字串常量時,系統會在字串行後自動加上 0 標誌字串的結束。字串的長度定義為字串中的有效字元數,不包括結束標誌 0 和雙引號。字串變數是以 0 作為結束標誌的字元陣列。字串變數用於儲存和...