为什么print()函数不能打印我在Windows中要求的内容?

时间:2011-04-02 19:48:33

标签: windows-7 python-3.x

为了好玩,我正在Python 3.2中构建一个非常简单的基于文本的游戏。我的开发机器运行的是Windows 7,我正在使用PyScripter IDE来开发这个游戏。

我遇到了print()函数没有正确打印字符串的问题。当您开始游戏时,程序会显示一个包含3个选项的小菜单:LoginRegisterExit。当我去注册时,程序从我创建的一个名为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上的错误吗?

2 个答案:

答案 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")