我在这里粘贴了一些来自我的互动故事的代码,我想让用户为一个角色选择一辆车,并让它在整个故事中使用,但由于我是python新手,我可能完全错了。你知道吗
print("Help Rick P. choose a car to drive.")
print()
print("1 Chevrolet Camaro")
print("2 Chevrolet SS Sedan")
print("3 BMW M3 Sedan")
print("4 Mercedes-Benz GLE Coupé")
print()
def cars(car):
Camaro = car1
SS_Sedan = car2
M3_Sedan = car3
GLE_Coupé = car4
def choice_car():
car = input("Input the corresponding number to the car that you'd like Rick P. to drive... ")
print()
cars(car)
choice_car()
print(car)
好的,我冒昧地解释了你的问题。似乎你想做某事,但你不知道怎么做。我将提供一个答案,以帮助您学习如何调试程序,以及如何事情的算法。你知道吗
程序的第一部分几乎是正确的。没什么不对的。您要做的是从打印的选择中选择一辆车。代码的问题在于这一部分:
这在很多方面都是错误的。首先,
car1
,car2
等,不会像你想象的那样工作。Python将尝试在函数的局部作用域中查找名为car1
、car2
等的对象。ref如果找不到它,它将在全局空间中搜索该变量的绑定。如果找不到它,它将引发NameError
。你知道吗此外,此代码不允许您选择汽车。您要做的是:检查参数
car
包含的值,并基于该值返回特定值。你可以用这样的if/elif
语句:现在,好的实践也有这样一种说法,即你所考虑的输入不是预期的。在本例中,为错误的输入提供一个额外的
else
case帐户,并让用户了解这一点可能是一个好主意,因此您也可以添加它。你知道吗请注意,在所有情况下,函数都返回一个
string
,其中包含汽车模型,而不仅仅是将随机对象绑定到名称。如果您所编写的代码按照您的预期工作,那么它将类似于枚举(您可能想了解enums here)。你知道吗我的建议是不要使用cars函数,而是使用carslist。如果希望函数返回值,则使用return语句。你知道吗
另一方面,您的代码使它看起来好像您还没有真正研究过Python tutorial。请这样做。你知道吗
或者,如果不想将字符串转换为integer,请使用dictionary。你知道吗
相关问题 更多 >
编程相关推荐