如何修复“ValueError:无法将字符串转换为float:'East'”(Python)

2024-04-16 04:25:32 发布

您现在位置:Python中文网/ 问答频道 /正文

当用户输入“East”时,我希望输出是-1而不是“East”

East = -1

Xdirectioninput = float(input("Is the player South or East: "))
Xdirectioninput = (Xdirectioninput)

print (Xdirectioninput)

Tags: orthe用户inputisfloatplayerprint
2条回答

这只适用于python2。这是因为在python2中,用户响应input()所键入的内容将作为Python表达式进行计算。你知道吗

但在python3中不能这样做。一种方法是建立一个有方向的字典:

directions = {"East": -1.0, "South": -2.0}
Xdirectioninput = directions[input("Is the player South or East: ")]

我认为条件语句是一个很好的解决方案。您可以按以下方式生成代码:

Xdirectioninput = input("Is the player South or East: ")
if Xdirectioninput == 'East':
    Xdirection = -1
print(Xdirection)

相关问题 更多 >