2017-02-19 76 views
0

問題,我想我的代碼的幫助,這是相當很難描述我的問題,但我會在下面解釋(代碼也將低於警告相當長警告Python - Python新手;隨機

我有一個項目中, 我給每個房間的數字從1到13(pr​​n)和... 我有一個隨機模塊,其中'鬼'從1- 13(grn),如果它與prn匹配,則顯示'BOO!' 我的問題是我應該放置這段代碼的地方 代碼插入只LONG

******************************************************* 
    import random 
    grn = (random.randint(1,13)) 
    if prn == grn: 
     print(" ") 
     print('BOO!') 
     print(" ") 
******************************************************* 
house() 

專注於恆星之間的部分。 我有那裏的隨機模塊和grn。每個房間的prn在while循環中位於上方。 我的問題是,'BOO!'沒有得到顯示,如果grn和prn匹配,所以我來這裏問: 我在哪裏可以移動到 或 我該編輯什麼才能使它起作用?

回答

0

查看您星號部分的縮進級別。正在while循環內定義prn。用戶輸入exit之後,您只能得到if prn == grn,因此您將無法獲得所需的值。

它也看起來像你通過'房間'loft()作爲一個全球。這是一個糟糕的主意 - 你不知道什麼時候它會從你下面改變,你不會被告知。

你或許應該看看這些答案在代碼審查: https://codereview.stackexchange.com/questions/36101/better-way-to-code-this-game/36112#36112 https://codereview.stackexchange.com/questions/155661/text-adventure-game

+0

它在'如果它不是退出然後...'的while循環,並且這個循環中的if語句是'如果'room'是'loft'然後轉到loft的定義 - 這是下一行。所以一定要prn,因爲它在線後,應該在用戶進入'閣樓'後生效。 –

+0

**感謝您的幫助。我設法解決它通過把grn =(random.randint(1,13)) 如果prn == grn: print(「」) print('BOO!') print(「」) while循環。歡呼:) –

0

在您的文件的最開始處導入您的隨機模塊。不是結尾

+0

我已經試過了,沒有改善。這可能是解決它的一個步驟,但我認爲還有另一個問題。 –

+0

^^問題修復。這是修復的一個步驟。感謝:P –