ಠ_ಠ
@anonymous
偷偷說
Mon, Nov 30, 2020 6:24 AM
3
請問會 python的人
如果我要讓這個程式反覆執行到猜對
還要加上什麼呢?
現在是猜一次就沒有了.....不知道怎麼讓他一直執行到猜對
owl1902
Mon, Nov 30, 2020 6:28 AM
while()
eagle2425
Mon, Nov 30, 2020 6:28 AM
加個while迴圈
ಠ_ಠ
Mon, Nov 30, 2020 6:32 AM
還想請問
nu=random.randint(1,101)
這行
我放在第二行她是可以讓我最後
guess(nu)時跑出程式
但是我把那行放進去def裡面的話
她就會時而有,時而跑不出來
這是什麼問題呢?
ಠ_ಠ
Mon, Nov 30, 2020 6:33 AM
是程式心情不好嗎?
我覺得那行應該要放在def裡面才對
但他就會有時候說nu 沒有被定義
owl1902
Mon, Nov 30, 2020 6:34 AM
不太懂你的意思..
snack7162
Mon, Nov 30, 2020 6:40 AM
那行要放def外面
你的結構是
import
在外面的變數nu=隨機整數
def guess函數(預期將有一個輸入,命名其為裡面的nu)
將外面的變數nu傳入guess函數並執行
guess函數:收到傳入的變數命名為裡面的nu,接著執行下方程式一次
snack7162
Mon, Nov 30, 2020 6:41 AM
Mon, Nov 30, 2020 6:42 AM
如果放在裡面就變成
你告訴guess函數你要傳一個變數給他
但是在外面你傳給他的變數還沒被定義
然後你在函數裡面自己宣告了變數是多少,這樣不能跑是正常的
在函數裡面被定義的變數跟外面是分開的
snack7162
Mon, Nov 30, 2020 6:43 AM
Mon, Nov 30, 2020 6:47 AM
還有建議這種狀況下裡面跟外面的變數不要同名,不然對人類來說閱讀性有點差
ಠ_ಠ
Mon, Nov 30, 2020 6:46 AM
snack7162: 原來本來就要放外面.....謝謝您!
snack7162
Mon, Nov 30, 2020 6:48 AM
猜到對為止的while(True)記得在完成猜測的那個if裡面加上break,不然你猜對他也不會跳出迴圈
ಠ_ಠ
Mon, Nov 30, 2020 6:51 AM
snack7162: 如果我們還沒有教break 還有其他的方法嗎?
ಠ_ಠ
Mon, Nov 30, 2020 6:51 AM
ಠ_ಠ
Mon, Nov 30, 2020 6:52 AM
好像會自己結束
snack7162
Mon, Nov 30, 2020 6:53 AM
這樣也可以
而且比較清楚
我那是懶人耍寶寫法
ಠ_ಠ
Mon, Nov 30, 2020 6:53 AM
試了2次了 這樣應該沒有問題?
ಠ_ಠ
Mon, Nov 30, 2020 6:53 AM
snack7162: 喔喔喔喔原來 我還沒那麼厲害 謝謝您~~
ಠ_ಠ
Mon, Nov 30, 2020 7:15 AM
居然有2個人喜歡這個噗
是也要做作業的人嗎XD
載入新的回覆
如果我要讓這個程式反覆執行到猜對
還要加上什麼呢?
現在是猜一次就沒有了.....不知道怎麼讓他一直執行到猜對
nu=random.randint(1,101)
這行
我放在第二行她是可以讓我最後
guess(nu)時跑出程式
但是我把那行放進去def裡面的話
她就會時而有,時而跑不出來
這是什麼問題呢?
我覺得那行應該要放在def裡面才對
但他就會有時候說nu 沒有被定義
你的結構是
import
在外面的變數nu=隨機整數
def guess函數(預期將有一個輸入,命名其為裡面的nu)
將外面的變數nu傳入guess函數並執行
guess函數:收到傳入的變數命名為裡面的nu,接著執行下方程式一次
你告訴guess函數你要傳一個變數給他
但是在外面你傳給他的變數還沒被定義
然後你在函數裡面自己宣告了變數是多少,這樣不能跑是正常的
在函數裡面被定義的變數跟外面是分開的
而且比較清楚
我那是懶人耍寶寫法
是也要做作業的人嗎XD