2017-07-02 50 views
-4

如何在if語句之後擺脫空行?爲什麼python有一個空行,我無法輸入任何內容?

>>> import mcpi.minecraft as minecraft 
>>> import mcpi.block as block 
>>> import time as time 
>>> mc=minecraft.Minecraft.create() 
>>> mc 
<mcpi.minecraft.Minecraft instance at 0x767e2f58> 
>>> block.GOLD_BLOCK=block.GOLD_BLOCK 
>>> while True: 
...  x,y,z=mc.player.getPos() 
...  block_beneath=mc.getBlock(x,y-1,z) 
...  if block_beneath != block.GOLD_BLOCK: 
...    mc.setBlock(x,y-1,z,block.GOLD_BLOCK) 
... 

......之後,它變成了一個空白行,不會讓我再放入代碼。

這似乎是一個愚蠢的問題要問,這可能是一個簡單的修復,但我不知道如何解決它。感謝所有的幫助!

感謝您的所有答案!我會仔細研究一下,嘗試一下你們說的事情! :D

+0

我在...之後做了,它只是變爲空白 – EofTheN

+1

使用VIM等編輯器編寫代碼,然後使用命令提示符運行它。看起來你在cmd中啓動了python,然後開始編寫你的代碼。您可以打開cmd並鍵入:'vim file.py'。這將創建一個帶有名稱文件的python文件,然後你可以使用它運行:'python file.py' – sera

回答

3
while True: 

這開始了一個無限循環。當您在最後一個...後按Enter時,循環開始運行並永不退出。在允許您輸入更多代碼之前,REPL必須完成執行您輸入的代碼。

您很可能需要將您的代碼放在一個文件中。這使您可以更輕鬆地編輯代碼以修復更改或添加功能。我建議你瞭解更多關於在文件中保存python代碼的信息。

+0

有沒有辦法在此之後輸入更多的代碼?或者我是否必須打開一個新窗口並重復這個過程來做其他事情? – EofTheN

+1

@EofTheN。在允許您輸入更多代碼之前,REPL必須完成執行您提供的代碼。如果你打開一個新窗口,你輸入的代碼將完全獨立於第一個窗口。一個無限循環表明你可能做錯了什麼。你很可能需要找出一種不同的方式來實現你想要的。 –

0

首先,你爲什麼要在殼中做它?如果你有空閒,只需在shell中輸入Ctrl + N來創建一個新文件。

而這裏的代碼放在一個新的文件複製並粘貼:):

import mcpi.minecraft as minecraft 
import mcpi.block as block 
import time as time 
mc=minecraft.Minecraft.create() 
block.GOLD_BLOCK=block.GOLD_BLOCK 
while True: 
    x,y,z=mc.player.getPos() 
    block_beneath=mc.getBlock(x,y-1,z) 
    if block_beneath != block.GOLD_BLOCK: 
     mc.setBlock(x,y-1,z,block.GOLD_BLOCK) 

我希望在這方面幫助! :)

相關問題