Python学习笔记第一天

  • 变量
  • 用户输入
  • 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()

改进版:

猜你喜欢

转载自www.cnblogs.com/mesunyueru/p/8953554.html