- 变量
- 用户输入
- if-else
- for(break,continue)
- while(break,continue)
- 综合例子
- 作业
一、变量
1.1、理解变量的指向问题,看下面这个例子:
1 #变量就是用来存储内容的 2 name='SYR'#python是动态语言,不需要申明数据类型 3 name2=name#name2指向 4 print(name,name2)#SYR 5 name='XYQ'#name指向了XYQ,name2的指向没有变化 6 print(name,name2)#XYQ SYR 7 #变量定义的规则:只能说字母数字和下划线的组合,第一个字符不能是数字 8 #变量名有语义化 9 #python中如何表示常量,变量名大写:PI
1.2、 变量定义的规则:
- 变量名只能是字母、数字或者下划线的任意组合
- 变量名的第一个字符不能是数字
- 下面这些关键字不能作为变量名:['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
二、用户输入
2.1 、input 和raw_input的区别:
先记住在python3.x中直接使用input(),在python2.x中直接使用raw_input()就行了。在python2.x中的input()和raw_input()的区别可以参考:
https://www.cnblogs.com/gengcx/p/6707024.html
2.2、input默认输出的是str类型的,如需要int类型的需要自己添加转化int()
username=input('username:') # age1=input('age:') age=int(input('age:')) # print(type(age))
以上例子中,age1的type是str,age的type是int
2.3、print的几种输出方式:
① 注意不要在%(username,username,age,job,salary)前面加逗号,和c语言不一样
username=input('username:') age=input('age:') job=input('job:') salary=input('salary:') print(''' --------------info of %s----------- Name:%s Age:%s Job:%s Salary:%s '''%(username,username,age,job,salary))
②.format的用法
print(''' --------------info1 of {_name}------------ Name:{_name} Age:{_age} Job:{_job} Salary:{_salary} '''.format(_name=username, _age=age, _job=job, _salary=salary))
③.format的用法
print(''' ---------------info2 of {0}-------------- Name:{0} Age:{1} Job:{2} Salary:{3} '''.format(username,age,job,salary))
三、if-esle
比较简单,不说了
my_age = 28 user_input = int(input("input your guess num:")) if user_input == my_age: print("Congratulations, you got it !") elif user_input < my_age: print("Oops,think bigger!") else: print("think smaller!")
四、for
4.1、简单的for语句
for i in range(10): print("loop:", i )
嵌套for语句
#嵌套循环 for i in range(10): print('------',i) for j in range(10): print(j) if j>5: break #大循环执行10次,小循环执行6次
4.2、for结合break、continue
break是结束当前的整个循环,以下输出的应该是:0,1,2,3,4,5
for i in range(10): if i>5: break #不往下走了,直接跳出整个loop print("loop:", i )
continue是结束本次循环,继续下一次循环。以下输出的应该是5,6,7,8,9
for i in range(10): if i<5: continue #不往下走了,直接进入下一次loop print("loop:", i )
4.3、for-else
以下程序当猜对的时候,会执行: print('you have tried too many times')嘛?
答案是:不会。
因为break是跳出了for循环,else和for是并列的,只有当for中i的三个循环都执行完毕才会执行else
for i in range(3): guess_age = int(input("guess age:")) if guess_age == age_of_sun: print('yes,you got it') break elif guess_age > age_of_sun: print('think smaller') else: print('think bigger') else: print('you have tried too many times')
五、while
5.1、下面这个是死循环,会一种运行
count = 0 while True: print("你是风儿我是沙,缠缠绵绵到天涯...",count) count +=1
5.2、while和break、continue结合
break,continue和上面for的理解一样。
while count<3: guess_age = int(input("guess age:")) if guess_age==age_of_sun: print('yes,you got it') break elif guess_age>age_of_sun: print('think smaller') else: print('think bigger')
5.3、while-else
这个例子中只有while中的conut从1-2循环结束,才会执行 print("猜这么多次都不对,你个笨蛋.")
my_age = 28 count = 0 while count < 3: user_input = int(input("input your guess num:")) if user_input == my_age: print("Congratulations, you got it !") break elif user_input < my_age: print("Oops,think bigger!") else: print("think smaller!") count += 1 #每次loop 计数器+1 else: print("猜这么多次都不对,你个笨蛋.")
六、综合例子
age_of_sun=25 count=0 for i in range(0,3): guess_age=int(input('guess age:')) if guess_age==age_of_sun: print('you got it') break break是结束当前整个循环 elif guess_age>age_of_sun: print('smaller') else: print('smaller') count+=1 if count==3: confirm=input('continue?') if confirm != 'n': count=0
七、作业
作业要求:
- 编写登陆接口
- 输入用户名和密码
- 认证成功后显示欢迎
- 输入三次后锁定账号
作业思路:
- 超过三次就用文件存储锁定的账号
- 用户登陆前判断账号是否在该文件中,如果在就提式
作业初版:
#Author:Yueru Sun #编写登陆接口,输入用户名密码,认证成功后显示欢迎信息,输入三次后锁定 _username='sunyueru' _password='sunny@0321' def lock(username): #将用户名写入锁定文件中 f=open('lockuser','r+') f.write(username) f.close() def check_lock(username): f=open('lockuser','r+') for name in f: if username in name: print("您的账户已锁定") f.close() def main(): count=0 while True: username=input('请输入用户名:') #判断账号是否被锁定 check_lock(username) password=input('请输入密码:') if username==_username and password==_password: print("登陆成功") break else: count+=1 print('登陆失败') if count>=3: #锁定账号 lock(username) print('您已输入错误三次,用户名被锁定') break main()
改进版: