• 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()
    

    改进版:

  • 相关阅读:
    python第三方库requests详解
    英语单词Permissive
    Linux系统重要文件(三)
    Linux系统重要文件(二)
    Linux系统重要文件
    操作系统挂载
    Linux系统基础优化
    系统软件安装
    MYSQL二进制安装
    MySQL基本操作
  • 原文地址:https://www.cnblogs.com/mesunyueru/p/8953554.html
Copyright © 2020-2023  润新知