1、基础语法
1.1、传参输出,指定格式
username = input("username:")
password = input("password:")
print(username,password)
1.1.1 多行输出,利用字符串拼接
__author__ = 'Ben'username = input("username:")
password = input("password:")
age = input("age:")
#print(username,password)info = """
-----info of """+ username + """---------
Name:"""+ username +"""
password:"""+ password +"""
Age:"""+ age +"""
"""print(info)
1.1.2 相当于shell中的$变量引用
__author__ = 'Ben'username = input("username:")
password = input("password:")
age = input("age:")
info = """
----- info of %s ---------
Name:%s
password:%s
Age:%s
"""%(username,username,password,age,)
print(info)
%s 代表字符串
%d 代表数字
上面把字符串进行转换age的转换,type( str(age)) 转换str型
注释:python3中的raw_input和python2中的input一样
1.1.3 方法三
如何使密码密文
引入模块,import getpass,注意模拟器中不好使,要在真实环境中用。
此处实验有问题,密码输入处(要在真实环境中使用才可以,模拟器不支持。)
1.2、if else
下面是简单的流程判断,用户密码匹配否打印相关信息
注释:双等号代表等于,一个等号代表赋值。。
注释:
python中,强制缩进。所以不需要结束符 像shell中的if fi的结束符。结构清晰。
注意:python3中直接使用input会报错,2中就不会
上面的只能猜一次年龄,现在希望猜多次。所以引出循环
1.3、while
基础语法
实现:输入三次,不对就退出,输入对了也退出
这种方法,while条件
友好的显示,超过三次的提示
1.4、for循环
0-9的打印
上面的while循环改成for循环
相隔一个打一个,1改成2 就是相隔两个打印一个。
下面代码实现,到三次就问一下是否继续?
1.5、break、continue
break:跳出循环
continue:跳出本次循环进入下一个循环。
2、作业
# -*- coding:utf-8 -*-
importsys
__author__ = 'Ben'user_info = {
"Ben":"xiaoran123",
"range":"xiaoran"}
count = 0
username = input("users>>>:")#用户手动输入用户名,比如此处输入的是Benifusername inuser_info:#此处会对比用户输入值是否真正的存在于user_info中,存在的话就继续往下走:lock_lis = ['range']#设定锁定列表foritem inlock_lis:#此处循环遍历锁定列表,取出里面被锁定的用户名ifusername==item:#如果输入的用户名在列表里面,说明用户被锁定了,此处执行锁定。sys.exit("被锁定.....")
whilecount <3:#如果没有在锁定列表且count值小于3&#xff0c;那么继续输入密码password &#61; input("密码>>:")
ifpassword &#61;&#61; user_info[username]:#此处将输入的用户名作为key传给user_info,user_info取出与key对应的value值&#xff0c;此处说的对应是“&#xff1a;”前为key&#xff0c;后为value。print("登录成功&#xff0c;欢迎%s!"% username)
sys.exit()
else:#若密码输入错误&#xff0c;则循环&#xff0c;直至c>3count &#43;&#61; 1
ifcount &#61;&#61; 3:
print("被锁定....")
sys.exit() #import sys模块后的退出操作
else:
print("密码错误&#xff01;请重新输入。还有%s次机会"% (3 - count))
else:
print("用户名不存在&#xff01;&#xff01;")