我今年十四岁,在python里我很漂亮。 我在Windows中编写一个程序。 我启动了我的linux薄荷hardrive,由于某种原因它给薄荷错误,但不是Windows 7? 任何人有任何想法? 这里是程序的3个文件:
main.py:
#------------------------------------------------------------------------------- # Name: main.py # Purpose: An RPG (Roll playing game) where you wake up in a room and have # to figure out text based puzzles to escape. # The whole game will be done in a terminal (Shell) and will be # completely text and ascii code. This will be the main file. # # Author: William Bryant # # Created: 15/12/2013 # Copyright: (c) William Bryant 2013 #------------------------------------------------------------------------------- import time import ascii import quests #The function that starts/restarts the game def init(): """ Calls all the functions to start the game/ restart the game """ #Display a cool banner ascii.ywu_banner(2) START_INPUT = input("Press ENTER/RETURN on your keyboard to start the game") time.sleep(0.7) ascii.clear() #Game text. game_text() def options(): pass #The text which is the main story line after the banner which gives the player #A sense of what the setting is about def game_text(): """ Prints out a bit of text 2 lines down and clears the screen every 4 or so seconds. """ time.sleep(5) print("\n\nYour eyes gentally and gradually, open") time.sleep(4) ascii.clear() time.sleep(2) print("\n\nYou slowly gather your senses and sit up...") time.sleep(4.5) ascii.clear() time.sleep(2) print("\n\nYou look around the room, and try to make sense of the") print("environment you are in and to your surprise, you realise your in some") print("sort of a prison cell!") time.sleep(12.5) ascii.clear() time.sleep(2) print("\n\nYou place your hand on the wall...") time.sleep(3) ascii.clear() time.sleep(2) print("\n\n... It feels like some sort of metal.") time.sleep(4) ascii.clear() time.sleep(2) print('\n\n"How did I get here?", \nYou think to yourself') time.sleep(4) ascii.clear() time.sleep(2) quests.way_out_quest() time.sleep(2) print("\nYou accepted the quest" + ascii.WOODEN_DOOR) time.sleep(10) ascii.clear() ascii.clear() time.sleep(2) print("\nYou see a wooden door next to your bed with 5 buttons and a handel... " + ascii.WOODEN_DOOR) time.sleep(10) ascii.clear() time.sleep(2) print("\n\nYou the figure out that it's some sort of combination lock.") time.sleep(4) ascii.clear() time.sleep(2) print("\n\nMmm, let me try this: ") time.sleep(4) ascii.clear() time.sleep(2) #if the file is the main file then start the program if __name__ == '__main__': init()
quest.py:
#------------------------------------------------------------------------------- # Name: quests # Purpose: To contain quests functions for the game "Yoy wake up..." # # Author: William Bryant # # Created: 17/12/2013 # Copyright: (c) William Bryant 2013 #------------------------------------------------------------------------------- import time import ascii import main #Error message if user executes the wrong file. if __name__ == '__main__': print("[ERROR]: Do not run this file. Run main.py - this file should not be executed!") time.sleep(4) exit() #Function for the first quest: do you want to find a way out? def way_out_quest(): """ If the question is not answered, then the player can't move on. If they say yes, then they continue through the script. If they say no, then the init function is called from main.py """ way_out_answered = False while way_out_answered == False: WAY_OUT_INPUT = input("Quest: Do you want to find a way out? ") if WAY_OUT_INPUT in ["yes", "Yes", "YES"]: way_out_answered = True elif WAY_OUT_INPUT in ["no", "No", "NO"]: way_out_answered = True time.sleep(2) ascii.clear() print("GAME\nOVER!") time.sleep (5) ascii.clear() main.init() else: print("Type yes or no. ") time.sleep(4)
ascii.py:
#------------------------------------------------------------------------------- # Name: ascii # Purpose: To create all the ascii art and graphic tools for the game: # "you wake up..." # # Author: William Bryant # # Created: 15/12/2013 # Copyright: (c) William 2013 #------------------------------------------------------------------------------- import time import os WOODEN_DOOR = """ ______________________________ /_____/_____/_____/_____/_____/ ._. ._. | | | | |_| ______ ______ |_| |-| /__1__/ /__2__/ |-| ___________ | | | | || ||| |||| |_| |_| || ||| |||| ._. ._. ||_||| |||| | | | | _||_|||_||||_ |_| ______ |_| |-| /__3__/ |-| | | /\ | | |_| \/ |_| ._. ._. _____ | | | | ____________________________|_____| |_| ______ ______ |_| | |______________________________| | |-| /__4__/ /__5__/ |-| | | | | | | | | |_| |_| |_| |_| _____________________________________________________________________ /_____/ /_____/__/_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/ /_____/""" #Error message if user executes the wrong file. if __name__ == '__main__': print("[ERROR]: Do not run this file. Run main.py - this file should not be executed!") time.sleep(4) exit() #Clear function def clear(): """ Clears the console screen using the built in commands on a operating system (here linux and windows) """ os.system(['clear','cls', "^L"][os.name == 'nt']) #"Wake up..." title/banner at the start def ywu_banner(num_of_times): """ Prints You wake up...(the game name) in ascii code big letters into a console and clears the screen using the clear function above and reprints the message to make the dots at the end appear to be moving. """ print("__ __ _") time.sleep(0.25) print("\ \ / / | |") time.sleep(0.25) print(" \ \_/ /__ _ _ __ ____ _| | _____ _ _ _ __") time.sleep(0.25) print(" \ / _ \| | | | \ \ /\ / / _` | |/ / _ \ | | | | '_ \ ") time.sleep(0.25) print(" | | (_) | |_| | \ VV / (_| | < __/ | |_| | |_) | _ _ ") time.sleep(0.25) print(" |_|\___/ \__,_| \_/\_/ \__,_|_|\_\___| \__,_| .__(_|_|_)") time.sleep(0.25) print(" | | ") time.sleep(0.25) print(" |_| ") time.sleep(0.25) clear() for foo in range(num_of_times): print("__ __ _") print("\ \ / / | |") print(" \ \_/ /__ _ _ __ ____ _| | _____ _ _ _ __") print(" \ / _ \| | | | \ \ /\ / / _` | |/ / _ \ | | | | '_ \ ") print(" | | (_) | |_| | \ VV / (_| | < __/ | |_| | |_) | _ ") print(" |_|\___/ \__,_| \_/\_/ \__,_|_|\_\___| \__,_| .__(_|_)") print(" | | ") print(" |_| ") time.sleep(0.7) clear() print("__ __ _") print("\ \ / / | |") print(" \ \_/ /__ _ _ __ ____ _| | _____ _ _ _ __") print(" \ / _ \| | | | \ \ /\ / / _` | |/ / _ \ | | | | '_ \ ") print(" | | (_) | |_| | \ VV / (_| | < __/ | |_| | |_) | ") print(" |_|\___/ \__,_| \_/\_/ \__,_|_|\_\___| \__,_| .__(_)") print(" | | ") print(" |_| ") time.sleep(0.7) clear() print("__ __ _") print("\ \ / / | |") print(" \ \_/ /__ _ _ __ ____ _| | _____ _ _ _ __") print(" \ / _ \| | | | \ \ /\ / / _` | |/ / _ \ | | | | '_ \ ") print(" | | (_) | |_| | \ VV / (_| | < __/ | |_| | |_) | ") print(" |_|\___/ \__,_| \_/\_/ \__,_|_|\_\___| \__,_| .___/") print(" | | ") print(" |_| ") time.sleep(0.7) clear() print("__ __ _") print("\ \ / / | |") print(" \ \_/ /__ _ _ __ ____ _| | _____ _ _ _ __") print(" \ / _ \| | | | \ \ /\ / / _` | |/ / _ \ | | | | '_ \ ") print(" | | (_) | |_| | \ VV / (_| | < __/ | |_| | |_) | _ _ ") print(" |_|\___/ \__,_| \_/\_/ \__,_|_|\_\___| \__,_| .__(_|_|_)") print(" | | ") print(" |_| ") time.sleep(0.7) clear()
在函数ascii.ywu_banner(2)后我在main.py中使用我得到这个错误:
Press ENTER/RETURN on your keyboard to start the game Traceback (most recent call last): File "main.py", line 102, in <module> init() File "main.py", line 26, in init START_INPUT = input("Press ENTER/RETURN on your keyboard to start the game") File "<string>", line 0 ^ SyntaxError: unexpected EOF while parsing
你没有指定你正在使用的Python版本,但是我认为你在Windows上是3.x,在Linux上是2.x。 input()
在Python 2.x和Python 3.x上的工作方式不一样。 在2.x上它试图评估用户的输入为Python代码(这是非常不安全的fwiw),这将解释你的错误,如果试图在2.x上运行3.x代码。
注意:3.x input()
的2.x等价物被命名为raw_input()
但是你还是有其他一些不兼容的东西。