- 变量
- 用户输入
- 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()
改进版: