擅长:python、mysql、java
<p>您正在调用<code>getUsername</code>函数,并将一个名为<code>username</code>的变量作为一个参数,该变量在那时没有定义。
实际上,它是在<code>getUsername</code>函数中定义的,但也不是<code>username</code>定义的。相反,最终包含真实用户名的变量是<code>confirmUser</code>。在这种情况下,这是有意义的,但是<code>username</code>应该包含有效/注册的用户名。这实际上应该是一种包含不止一个用户名的列表,对此,一个专用函数是一种可能的方法。在</p>
<p>有趣的是:你在一开始就正确地使用了regLog。在这里,通过输入定义regLog,然后检查它的值。在</p>
<p>您肯定应该再看一下有关变量、函数(及其参数)的文档,这些都是基本的。哦,应该是<code>raw_input()</code>而不是{<cd8>}。至少在这种情况下。在</p>
<p>这将是我快速而肮脏(且不完整)的方法:</p>
<pre><code>registeredusers = ['john.doe', 'peter.parker', 'bruce.banner']
def getUsername():
global registeredusers
loginname = str(raw_input("Enter username: "))
if loginname in registeredusers:
return True
else:
return False
def loggingIn():
regLog = str(raw_input("Login or Register? "))
if regLog == 'Login':
if getUsername():
print "Yay! Logged in"
else:
print "Login failed"
elif regLog == 'Register':
# do stuff
pass
else:
# do stuff
pass
loggingIn()
</code></pre>