我目前正試圖為我的一個文本冒險編程基本的位置移動,不管我做什么,如果語句代碼永遠不會運行,我會執行0.1位置。我嘗試過在position變量傳遞到0.1之前編輯它,但是在函數運行時什么也沒有發生。位置0.0代碼運行正常,但不返回0.1的值,而是返回“NONE”。(我通過函數中的print語句發現了這個問題,它給出的結果是“NONE”)是否有什么我覺得非常明顯的東西我遺漏了。重現錯誤的最小代碼如下:
def main():
print('Time to test out movement.')
Position = 0.0
while Position != 9.9:
Position = Movement(Position)
print('Test concluded.')
def Movement(Position):
if Position == 0.0:
print('You have entered this old and decrepid dungeon in hopes of finding some kind of riches.')
print('What would you like to do?')
print('1-Move north to room 0.1')
PChoice = int(input())
if PChoice == 1:
return 0.1
if Position == 0.1:
print('Movement successful.')
if __name__ == '__main__': main()
我想你想在position變為0.1時停止程序,同時你的代碼正在運行一個infinte循環,因為它不處理position value不為0.0或0.1的情況:嘗試以下代碼: