为了好玩,我正在Python 3.2中构建一个非常简单的基于文本的游戏。我的开发机器运行的是Windows 7,我正在使用PyScripter IDE来开发这个游戏。
我遇到了print()
函数没有正确打印字符串的问题。当您开始游戏时,程序会显示一个包含3个选项的小菜单:Login
,Register
和Exit
。当我去注册时,程序从我创建的一个名为Character
的自定义类创建一个对象。该字符包含name
变量,然后使用name变量打印出一条小消息。这是我必须做的代码:
user_choice = int(input("Please select a command: "))
if user_choice == 1:
print("Sorry, this function isn't currently implemented.",
"Please check back later.\n")
elif user_choice == 2:
hero_name = input("Please choose a name for yourself, adventurer: ")
hero = Character(hero_name)
print("I see, so your name is", hero.name + "... Very well. We shall begin your journey immediately!\n")
代码应该正常工作,当我在PyScripter中运行程序时,我得到了一个很好的输出:
我明白了,所以你的名字是(我选择的名字)......非常好。我们将立即开始您的旅程!
但是,当我从cmd-prompt运行程序时,我得到:
......非常好。我们将立即开始您的旅程!
我在这里做错了吗?或者这是Windows上的错误吗?
答案 0 :(得分:3)
我相信你的print()
陈述中有一个拼写错误:
# You have this:
print("I see, so your name is", hero.name + "... Very well. We shall begin your journey immediately!\n")
# Did you mean this?
print("I see, so your name is" + hero.name + "... Very well. We shall begin your journey immediately!\n")
答案 1 :(得分:0)
以下适用于使用Eric5 IDE的Python 3.2:
heroname = "Joe Cool"
print("I see, so your name is", heroname + "... Very well. We shall begin your journey immediately!\n")