我有这个脚本:
class usr:
def __init__(self, inp):
self.inp = inp
if inp == "abc":
print 0
exit()
user_input = usr(raw_input())
if user_input == "123":
print("1")
else:
print("No")
但是,即使我输入“123”,输出也是“否”。 在正常情况下,我会将“abc”语句放在if中,但我需要检查多个命令的输入,所以我认为一个类是最好的选择。
答案 0 :(得分:0)
当数据不像您认为的那样进行比较时,工具包中的第一个工具是print语句。只需添加print user_input
,您就会找到usr
类的实例,而不是用户输入。您将其存储在名为inp
的实例变量中。另外,在pythnon 2中,你应该继承object
来获得一个新式的类。你不需要在python 3中这样做。
class usr(object):
def __init__(self, inp):
self.inp = inp
if inp == "abc":
print 0
exit()
user_input = usr(raw_input())
if user_input.inp == "123":
print("1")
else:
print("No")
如果您只想验证输入并且不存储它,那么函数是更好的选择。它只能返回经过验证的字符串。它也可以做其他数据。在这个例子中,我还从前面和后面去掉了空格,因此忽略了轻微的输入错误
def usr(inp):
inp = inp.strip()
if inp == "abc":
print 0
exit()
return inp
user_input = usr(raw_input())
if user_input == "123":
print("1")
else:
print("No")