-3

我是 Python 的绝对初学者,但我使用了一点 Visual basic.net。我目前正在使用一对列表作为数据库形式进行登录,但在运行模块时收到错误消息。就像我说的那样,我是一个绝对的初学者,所以这可能是一些愚蠢的事情,但是任何解决此错误的帮助将不胜感激,谢谢!

这是 *.py 文件:

username = ["nathan","george"]
password = ["password","password"]

usrindex = 0
psswrdindex = 0

usrnm = input("username:")
while usrindex < len(usrnm):
    if username[usrindex] == usrnm 
    Then psswrd = input("password:")
        while psswrdindex < len(psswrd):
            if password[psswrdindex] == psswrd
                Then print("Success")
                Else psswrdindex = psswrdindex + 1
    Else usrindex = usrindex + 1
print("Failure")

当我尝试在 IDLE 中运行模块时,它说语法无效并突出显示这一行:

if username[usrindex] == usrnm

就像我说的,任何帮助将不胜感激!

4

4 回答 4

4

最后需要一个冒号:

if username[usrindex] == usrnm:

当然,这只修复了SyntaxError. 你也会得到大量的NameErrors 因为你的代码不是真正的 Python。它会爆炸说Else并且Then没有定义。

Python if 语句的组成如下:

if condition:
    ...
elif condition:
    ...
else:
    ...

这是我认为你真正需要的:

http://docs.python.org/2/tutorial/

这详细介绍了所有基础知识。

于 2013-08-28T20:38:52.633 回答
0

您在行尾缺少一个冒号:

 if username[usrindex] == usrnm:
于 2013-08-28T20:39:10.173 回答
0

块的 Python 语法if

if condition:
    statement
else:
    statement
于 2013-08-28T20:39:47.327 回答
0

你必须学习python语法。

可能对学习有用,

username = ["nathan","george"]
password = ["password","password"]

usrindex = 0
psswrdindex = 0

usrnm = raw_input("username:")
success = False
while usrindex < len(username):
    if username[usrindex] == usrnm:
        psswrd = raw_input("password:")
        while psswrdindex < len(password):
            if password[psswrdindex] == psswrd:
                print("Success")
                success = True
                break
            else:
                psswrdindex = psswrdindex + 1
        break
    else:
        usrindex = usrindex + 1

if not success:
    print("Failure")
于 2013-08-28T20:55:33.693 回答