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

Windows 7 为什么print()函数不能在Windows中打印我要求它打印的内容?,windows-7,python-3.x,Windows 7,Python 3.x,为了好玩,我正在用Python 3.2构建一个非常简单的基于文本的游戏。我的开发机器运行Windows7,我正在使用IDE开发这个游戏 我在print()函数中遇到了一个小问题,无法正确打印字符串。当您开始游戏时,程序将显示一个小菜单,其中包含3个选项:登录、注册、和退出。当我转到register时,程序从我创建的名为Character的自定义类创建一个对象。该字符接收一个name变量,然后使用name变量打印出一条小消息。下面是我必须执行的代码: user_choice = int(input

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

我在
print()
函数中遇到了一个小问题,无法正确打印字符串。当您开始游戏时,程序将显示一个小菜单,其中包含3个选项:
登录
注册
、和
退出
。当我转到register时,程序从我创建的名为
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提示符运行程序时,我得到:

。。。很好。我们将立即开始您的旅程


我做错什么了吗?或者这是Windows上的错误?

我相信您的
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")

我相信您的
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")

以下内容在带有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")

以下内容在带有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")

哦,你好,康斯坦西先生!我修正了打字错误,但错误仍然存在。谢谢你指点我!该死,我讨厌那些投票支持这个的人。我发现投票数主要取决于问题的简单程度,而不是答案的好坏。@BlaXpirit:不幸的是,这对1n73rn37_j3d1的错误没有帮助,但这并没有错,因为字符串浓缩需要
+
,OP也承认了这一点。哦,你好,易变先生!我修正了打字错误,但错误仍然存在。谢谢你指点我!该死,我讨厌那些投票支持这个的人。我发现投票数主要取决于问题的简单程度,而不是答案的好坏。@BlaXpirit:不幸的是,这对1n73rn37_j3d1的错误没有帮助,但这并没有错,因为字符串浓缩需要
+
,OP也承认了这一点。我在这两种情况下都得到了确切的答案,即“Name'Character'未定义”。您可能需要输入完整的示例。粘贴在此处的代码没有问题。
print
函数会自动在末尾添加一个换行符(除非您指定参数
end='
),因此您不需要在此处使用这些'\n'(当然,如果你不想在输出后有一个空行的话)。关于这个问题……我同意Lennart的意见。我在两种情况下都得到了确切的答案,即“Name‘Character’未定义“。您可能需要输入一个完整的示例。粘贴在此处的代码没有问题。
print
函数会自动在末尾添加一个换行符(除非您指定参数
end='
),因此此处不需要这些“\n”(当然,如果您不希望在输出后出现空行的话).关于这个问题…我同意Lennart的意见。