我正在尝试将用户输入作为我的函数的参数。我这样做了:
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
编辑:
我正在使用VS for Python
脚本的输出(在命令行上)很好:
"(' 1'&#39 2')"
但是,当我把观察放在变量上时,就是这样:
输出将如下:
"(\' 1 \' \' 2 \')"
没有额外的' \'在上面。
所以,鉴于输入我的查询(我正在使用熊猫)并没有运行。
因为它将游戏版本视为:
' \ 1' \和' \ 2 \'或者
\' 1 \'和\' 2 \'
我知道' \'曾经在python中写过特殊字符 但为什么我把它拿到我身上呢? 任何人都可以向我解释为什么我有额外的' \'在我的字符串?
答案 0 :(得分:0)
使用python2.7运行以下代码即可:
def EnterVersion():
gVer = ""
tgVer = ""
while True:
gVer = raw_input(" Enter game version : ") #use raw_input here
if gVer == '':
tgVer = tgVer[:-1]
break
else:
gVer = '\'' + gVer + '\'' + ','
tgVer += gVer
tgVer = "\"(%s)\""%tgVer
print(tgVer)
return tgVer
结果:
Enter game version : 2
Enter game version : 4
Enter game version : 1
Enter game version : 2
Enter game version :
"('2','4','1','2')"
编辑:你做得很好!但是你不应该在调试模式下看到resule,因为它使用将在代码中表示的字符串,而不是真正的输出。即如果你在调试模式中看到"abc"
,而实际输出字符串是abc
,如果在调试模式下看到“\'hi \'”,则实际输出字符串将为'hi',没关系!
答案 1 :(得分:0)
当我尝试运行它时,您的代码有几个语法错误。而且它也是你预期的输出而不改变代码。
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
if __name__ == "__main__":
game_version = EnterVersion()
print(game_version)