1、通过raw_input()函数获取用户输入(可见)
[root@Python scripts]# cat input.py #!/usr/bin/env python #-*- coding:utf8 -*- raw_input("请输入用户名:") [root@Python scripts]# python input.py 请输入用户名:alex [root@Python scripts]#
2、将用户输入的内容复制给某个变量
[root@Python scripts]# cat input.py #!/usr/bin/env python #-*- coding:utf8 -*- name=raw_input("请输入用户名:") print name [root@Python scripts]# python input.py 请输入用户名:alex alex [root@Python scripts]#
3、用户输入不可见(getpass模块)
[root@Python scripts]# cat input.py #!/usr/bin/env python #-*- coding:utf8 -*- import getpass pwd=getpass.getpass(">>>") print "####################" print pwd [root@Python scripts]# python input.py >>> #################### alex [root@Python scripts]# python input.py >>> #################### python
4、流程控制
[root@Python scripts]# cat if01.py
#!/usr/bin/env python #-*- coding:utf8 -*- name = raw_input("请输入用户名:")#--->输入alex,此时两边都是alex,说明是两边是值在 #进行对比,而不是内存中同一个对象 if name == "alex": #--->注意:进行赋值的时候用一个等号(=), #如果是进行比较用双等号(==) #这里是值和值进行对比,不是内存地址进行对比。 print "登录成功" else: print "登录失败" [root@Python scripts]#
is和双等于号(==)的区别:
== 指的是两个变量的值相等就以了,不要求是内存里的同一块地址
is 指的是两个变量在内存里必须是同一块地址,而不是说两个值相等就可以了
[root@Python scripts]# cat if01.py
#!/usr/bin/env python #-*- coding:utf8 -*- name = raw_input("请输入用户名:") if name == "alex": print "登录成功" else: print "登录失败" ################################################ name= raw_input("请输入用户名:")#输入alex name =raw_input("请输入用户名:")#输入alex if name == "eric": print "普通" elif name == "tony ": print "超级" elif name == "alex": print "超神" else: print "非法"
控制脚本示例①:
[root@Python scripts]# cat login01.py
#!/usr/bin/env python #-*- coding:utf8 -*- import getpass name = raw_input("请输入用户名:") pwd = getpass.getpass("请输入密码:") if name == "eric" and pwd == "123": print "登录成功!普通,123" elif name == "tony" and pwd == "123": print "登录成功!超级,123" elif name == "alex" and pwd == "123": print "登录成功!超神,123" else: print "登录失败!"
将上述脚本进行改写:
[root@Python scripts]# cat login.py
#!/usr/bin/env python #-*- coding:utf8 -*- import getpass name = raw_input("请输入用户名:") pwd = getpass.getpass("请输入密码:") if name == "alex" or name == "eric" or name == "tony" and pwd == "123": print "登录成功!" if name == "alex": print "超神,123" if name == "eric": print "普通,123" if name == "tony": print "超级,123" else: print "非法用户" print "登录失败!"
将脚本进一步改写:
[root@Python scripts]# cat login02.py
#!/usr/bin/env python #-*- coding:utf8 -*- import getpass name = raw_input("请输入用户名:") pwd = getpass.getpass("请输入密码:") if pwd == "123": if name == "eric": print "eric 普通" elif name == "tony": print "tony 超级" elif name == "alex": print "alex 超神" else: print "非法用户" else: print "登录失败!"