2014-04-22 202 views
-7

我是Python新手Python if语句

我有一个if: else语句。

我的问题:现在打印“欢迎使用脚本”后,我的脚本退出,但我想恰好在其退出后,其他还当我的情况是真实的继续行name=raw_input("Enter your name: ")等不退出...

我该如何退出if else并继续执行脚本?

script_username="test" 
script_password="1"   
login_username=raw_input('Please Enter the script username:') 
login_password=getpass.getpass('Please Enter the script password:') 

if login_password == script_password and login_username == script_username: 
    print "Welcome to the Script" 

else: 
    print "your Username or Password is false" 
    exit() 


name=raw_input("Enter your name: ") 
family=raw_input("Enter your family: ") 
sex=raw_input("Enter your Sex: ") 
print "hello " + sex + name + family 
raw_input("press<enter>") 
+8

请缩进代码正确 – shaktimaan

+3

的Python取决于缩进知道你的脚本的块结构如果你没有正确缩进,它不会工作 – Barmar

+0

真的?哦,非常感谢 – Farsanet

回答

1

试一下(见新缩进)

script_username="test" 
script_password="1"   
login_username=raw_input('Please Enter the script username:') 
login_password=getpass.getpass('Please Enter the script password:') 

if login_password == script_password and login_username == script_username: 
    print "   Welcome to the Script   " 
else: 
    print "  your Username or Password is false  " 
    exit() 

name=raw_input("Enter your name: ") 
family=raw_input("Enter your family: ") 
sex=raw_input("Enter your Sex: ") 
print "hello " + sex + name + family 
raw_input("press<enter>") 
+2

这不是答案对缩进的反应应该是原文的编辑,而不是新的答案。 – Bucket

+1

海事组织他的问题是他的错误隐含 - 因此修复缺点是他的问题的答案。如果你编辑的问题,以便他的缩进是正确的 - 那么,没有问题,再也没有问题 – DAXaholic

+1

再次感谢DAXaholic – Farsanet

0

我想我找到了问题。 getpass.getpass('prompt')不返回一个字符串。无论是修复或使用本:

script_username="test" 
script_password="1"   
login_username=raw_input('Please Enter the script username:') 
login_password=raw_input('Please Enter the script password:') 

if login_password == script_password and login_username == script_username: 
    print "   Welcome to the Script   " 
else: 
    print "  your Username or Password is false  " 
    exit() 

name=raw_input("Enter your name: ") 
family=raw_input("Enter your family: ") 
sex=raw_input("Enter your Sex: ") 
print "hello " + sex + name + family 
raw_input("press<enter>") 

输出:

Please Enter the script username:test 
Please Enter the script password:1 
    Welcome to the Script   
Enter your name: Louis 
Enter your family: Mom, Dad, Dog 
Enter your Sex: Male 
hello MaleLouisMom, Dad, Dog 
press<enter> 

重要

块:

name=raw_input("Enter your name: ") 
family=raw_input("Enter your family: ") 
sex=raw_input("Enter your Sex: ") 
print "hello " + sex + name + family 
raw_input("press<enter>") 

是你的问题缩进不正确。它应该在if语句的下面(即没有空格)。这也将打破你的程序(因为它会觉得一切都在if声明

编辑2:截图:

Screenshot

+0

亲爱的路易斯,我没有任何getpass问题,我的问题是:为什么打印后欢迎脚本,它退出,而我期望去“name = raw_input ......”行 – Farsanet

+0

你试过这个吗?它在我的机器上完全按照预期工作。 – Luigi

+0

*只有*重要的是'exit()'的位置。如果它与'else:'块中的其他部分处于相同的缩进级别,它应该可以工作。 – Luigi