【发布时间】:2014-09-18 11:16:39
【问题描述】:
为什么assign()函数不把字符串变成整数? assign 函数不会返回我在 if 语句中设置的值!
p1 = raw_input("Player 1 ?")
p2 = raw_input("Player 2 ?")
def assign(n):
if n == "r":
return (1)
elif n == "s":
n = 2
elif n == "p":
n = 3
else:
print "Wrong input!"
return n
assign(p1)
assign(p2)
print p1
print p2
if p1 - p2 == 0:
print "Tie!"
elif (p1 - p2) / 2 != 0:
print " Player 1 is winner!"
else:
print" Player 2 is the winner!"
【问题讨论】:
-
你得到的输入和输出是什么,你期望的输出是什么?
-
您的
assign函数可能被称为assign,但它不会assign为assign的变量outside 提供新值。 -
Python 赋值确实不那样工作。参见例如python.net/~goodger/projects/pycon/2007/idiomatic/…
-
我一直在想,为什么新用户认为最好把整个问题放在标题中,然后只把代码放在问题正文中。
-
stackoverflow.com/questions/986006/… 基本上就是你要问的。