性别的用户输入不起作用
User input for gender not functioning
我正在尝试制作我在 python 中通过 Rpg Maker MV 制作的游戏,但我在 if 语句或更确切地说是性别输入中遇到了障碍。该代码旨在让用户输入“男孩”或“女孩”,并根据该变量为代词设置变量“性别”。控制台怎么说 This
这是代码
import time
print ("Elvoria")
print ("Start")
input = input()
if input == ("Start"):
print ("Always Great To See New People")
time.sleep(1)
print ("Now Are You A Boy Or Girl")
genderin = input()
if input == ("Boy"):
gender = 1
elif input == ("Girl"):
gender = 2
else:
print ("Error")
您需要使用您定义的变量名 genderin
来检查输入,而不是 input == ("Boy")
。
编辑:此外,您正在使用变量名 input
镜像内置方法 input()
,您不应该这样做。将您的变量重命名为例如start_input
.
import time
print ("Elvoria")
print ("Start")
start_input = input()
if start_input == "Start":
print ("Always Great To See New People")
time.sleep(1)
print ("Now Are You A Boy Or Girl")
genderin = input()
if genderin == "Boy":
gender = 1
elif genderin == "Girl":
gender = 2
else:
print ("Error")
您在第 4 行将变量“input
”定义为一个字符串,由“input
”函数给出。这会覆盖关键字。然后,在第 9 行,您再次调用“input
”。由于您已将内置函数替换为字符串,因此会引发错误(错误“不可调用”意味着您正试图将非函数视为函数)。
这是您的代码示例,没有覆盖内置方法:
import time
print ("Elvoria")
print ("Start")
user_input = input()
if user_input == ("Start"):
print ("Always Great To See New People")
time.sleep(1)
print ("Now Are You A Boy Or Girl")
genderin = input()
if genderin == ("Boy"):
gender = 1
elif genderin == ("Girl"):
gender = 2
else:
print ("Error")
您应该避免使用 input
作为变量名,因为已经存在同名的内置函数 input()
。所以只需将其名称更改为其他名称即可。其次,您将性别输入 (boy/girl) 存储在 genderin
中,然后在您应该检查 genderin
时检查 input
。所以修复这些后的代码看起来像这样:
import time
print ("Elvoria")
print ("Start")
choice = input()
if choice == "Start":
print("Always Great To See New People")
time.sleep(1)
print("Now Are You A Boy Or Girl?")
genderin = input()
if genderin == "Boy":
gender = 1
elif genderin == "Girl":
gender = 2
else:
print("Error")
出于演示目的,我使用了 choice
,您可以根据需要使用不同的名称,但请记住确保不存在具有该名称的 python 内置名称。此外,无需在 if 语句中放入 ("Start")
,而是使用 "Start"
(其他 if/elif 语句也是如此)
你也用过print ("example")
(space between print and brackets),我很少看到有人用这个,大多数人用print("example")
代替。
最后一个提示 -> 您可以将字符串设为小写,genderin = genderin.lower()
以管理区分大小写,即 boy
和 Boy
都是有效输入,等等
我正在尝试制作我在 python 中通过 Rpg Maker MV 制作的游戏,但我在 if 语句或更确切地说是性别输入中遇到了障碍。该代码旨在让用户输入“男孩”或“女孩”,并根据该变量为代词设置变量“性别”。控制台怎么说 This
这是代码
import time
print ("Elvoria")
print ("Start")
input = input()
if input == ("Start"):
print ("Always Great To See New People")
time.sleep(1)
print ("Now Are You A Boy Or Girl")
genderin = input()
if input == ("Boy"):
gender = 1
elif input == ("Girl"):
gender = 2
else:
print ("Error")
您需要使用您定义的变量名 genderin
来检查输入,而不是 input == ("Boy")
。
编辑:此外,您正在使用变量名 input
镜像内置方法 input()
,您不应该这样做。将您的变量重命名为例如start_input
.
import time
print ("Elvoria")
print ("Start")
start_input = input()
if start_input == "Start":
print ("Always Great To See New People")
time.sleep(1)
print ("Now Are You A Boy Or Girl")
genderin = input()
if genderin == "Boy":
gender = 1
elif genderin == "Girl":
gender = 2
else:
print ("Error")
您在第 4 行将变量“input
”定义为一个字符串,由“input
”函数给出。这会覆盖关键字。然后,在第 9 行,您再次调用“input
”。由于您已将内置函数替换为字符串,因此会引发错误(错误“不可调用”意味着您正试图将非函数视为函数)。
这是您的代码示例,没有覆盖内置方法:
import time
print ("Elvoria")
print ("Start")
user_input = input()
if user_input == ("Start"):
print ("Always Great To See New People")
time.sleep(1)
print ("Now Are You A Boy Or Girl")
genderin = input()
if genderin == ("Boy"):
gender = 1
elif genderin == ("Girl"):
gender = 2
else:
print ("Error")
您应该避免使用 input
作为变量名,因为已经存在同名的内置函数 input()
。所以只需将其名称更改为其他名称即可。其次,您将性别输入 (boy/girl) 存储在 genderin
中,然后在您应该检查 genderin
时检查 input
。所以修复这些后的代码看起来像这样:
import time
print ("Elvoria")
print ("Start")
choice = input()
if choice == "Start":
print("Always Great To See New People")
time.sleep(1)
print("Now Are You A Boy Or Girl?")
genderin = input()
if genderin == "Boy":
gender = 1
elif genderin == "Girl":
gender = 2
else:
print("Error")
出于演示目的,我使用了 choice
,您可以根据需要使用不同的名称,但请记住确保不存在具有该名称的 python 内置名称。此外,无需在 if 语句中放入 ("Start")
,而是使用 "Start"
(其他 if/elif 语句也是如此)
你也用过print ("example")
(space between print and brackets),我很少看到有人用这个,大多数人用print("example")
代替。
最后一个提示 -> 您可以将字符串设为小写,genderin = genderin.lower()
以管理区分大小写,即 boy
和 Boy
都是有效输入,等等