【发布时间】:2015-01-02 14:23:30
【问题描述】:
我正在尝试将用户输入作为函数的参数。我这样做了:
关于 Utilities.py
def EnterVersion()
gVer = ""
tgVer = ""
while True:
gVer = input(" Enter game version : ")
if gVer ='':
tgVer = tgVer[:-1]
break
else:
gVer = '\'' + gVer + '\'' + ','
tgVer += gVer
tgVer = "\"(%s)\""%tgVer
print(tgVer)
return tgVer
关于a.py
game_version = ""
def getGameVersion()
game_version = utilities.EnterVersion()
return game_version
当用户这样输入时:
输入游戏版本:1
进入游戏版本:2
编辑:
我正在为 Python 使用 VS
脚本的输出(在命令行上)很好:
"('1','2')"
但是,当我将 watch 放在变量上时,它是这样的:
输出将是这样的:
"(\'1\',\'2\')"
没有额外的'\'。
因此,鉴于输入我的查询(我正在使用 pandas)没有运行。
因为它读取游戏版本为:
'\1'\ 和 '\2\' ,或
\'1\' 和 \'2\'
我知道 '\' 用于在 python 中编写特殊字符。
但是为什么我把它放在我的身上呢?
任何人都可以向我解释为什么我的字符串上有额外的“\”?
【问题讨论】:
-
你的代码能编译吗? (它不适合我)。这条线似乎错了
gVer = '\'' + gVer + '\'' + ',' -
嗯,是的,我可以编译它。我使用的是 3.3.2 版
-
@smushi 将
input()替换为raw_input() -
解决了!我很愚蠢,没有意识到我的错误:啊,我找到了!!!..在 EnterVersion() 上我添加了额外的“””所以它错误..不是因为 '\'