我正在python上创建一个程序,允许你创建一个用户名和密码,这是我到目前为止所拥有的:
#Code
username = str(input("Please enter a username:"))
print("Your username is",username,",proceed?")
raw_input = input()
if raw_input() == 'no':
re_u = input("Please re-enter username")
else:
import getpass
mypass = getpass.getpass("Please enter your password:")
我收到的麻烦是: Traceback(最近一次调用最后一次): 第6行,在 如果raw_input()==' no': TypeError:' str'对象不可调用。
请帮忙
答案 0 :(得分:1)
在线:
raw_input = input()
如果您使用的是python 2.7,那么您将覆盖默认的raw_input
并使其成为字符串。
如果您使用的是python 3,则创建的字符串raw_string
的值为input()
因此,在这两种情况下,当您尝试像函数一样调用raw_input
时,您将收到错误。
TypeError:' str'对象不可调用。
if raw_input() == 'no':
这里,raw_input
是一个字符串,不是可调用的。你不能把它称为功能。
现在,工作代码应如下所示:(一个python 2.7解决方案)
import getpass
username = raw_input("Please enter a username:")
username_confirmation = raw_input("Your username is " + username + ",proceed?")
if username_confirmation == "No":
username = raw_input("Please re-enter username")
else:
password = getpass.getpass("Please enter your password:")
# do something with username and password
答案 1 :(得分:0)
raw_input是一个字符串,但您尝试将其用作函数,并在其末尾添加()。请改用:
if raw_input == 'no':