zoukankan      html  css  js  c++  java
  • Python-Basis-3rd

    周六,雨,记录生活分享点滴

    参考博客:https://www.cnblogs.com/yuanchenqi/articles/5782764.html

    Python版本:3.5

    字符格式化输出

    name = input ("Name:")
    age = int(input ("Age:"))
    job = input ("Job:")
    salary = input ("Salary:")
    
    if salary.isdigit(): #长得像不像数字,比如200d、‘200’
        salary = int(salary)
    # else:
    #     #print() #将"must input digit"放在exit中可以减少一行代码
    #     exit("must input digit") #退出程序
    
    msg = '''
    ----info of %s----
    Name: %s
    Age: %d
    Job: %s
    Salary: %f
    You will be retired in %s years
    ----end----
    ''' % (name,name,age,job,salary,65-age)
    
    print(msg)

    小结:

    • 占位符 %s (s=string字符串)、%d (d = digit 整数)、%f (f = float 浮点数,约等于小数)
    • 在占位符运用后,需要对占位符的输出进行表达,即   % (name,name,age,job,salary,65-age)
    • 3个引号  打印多行
    • 字符串  salary.isdigit()   世界万物,皆为对象,一切对象皆可分类
    • 针对输入结果特定的要求,以是否为数字展开

    循环

    • 有限循环,有次数限制
    • 无限循环=死循环
    • continue 结束本次循环,继续下一次循环
    • break 跳出整个当前的循环

    for循环

    基本逻辑

    第一种表示方法

    for i in range(1,101):
        if i % 2==1:
            print("loop:",i)

    第二种表示方法(优化版)

    for i in range(1,101,2): #2 指步长
        print("loop:",i)

    小结:

    • i 为变量
    • range表示循环的范围 
    • 第一种:运用余数为1的办法得出100范围内所有的奇数
    • 第二种:在range内添加步长2,从1开始计算,每增加2便是另一个奇数

    for循环-login登陆框

    _user = "chung"
    _passwd = "abc123"
    
    passed_authentication=False #假,不成立  #flag = 标志位
    
    for i in range (3):
        username = input("Username:")
        password = input("Password:")
    
        if username == _user and password == _passwd:
            passed_authentication = True #真,成立
            print ("Welcome %s login ..." % _user)
            break #跳出,中断
        else:
            print("Invalid username or password!")
    
    if not passed_authentication: #只有在True的情况下,条件成立
        print("对不起,您的输入次数已用完。")

    小结:

    • range(3)表示循环三次
    • 通过判断 passed_authentication 是否成立来决定最后结果的输出,即最后一个 print 
    • *通过循环三次结束后,如果还是输入用户名和密码不正确,即 passed_authentication 不等于 True ,跳转到最后一个 if ,最后一个 if 的运行条件是需要 passed_authentication 等于 True,所以添加 not 。

    for循环-login-pro版本 

    _user = "chung"
    _passwd = "abc123"
    
    for i in range (3):
        username = input("Username:")
        password = input("Password:")
        if username == _user and password == _passwd:
            print ("Welcome %s login ..." % _user)
            break #跳出,中断  #break for 过后,就不会执行最后面的else语句
        else:
            print("Invalid username or password!")
    
    else:  #只要上面的for循环正常执行完毕,中间没被打断,就会执行else语句
        print("对不起,您的输入次数已用完。")

    while循环

    while循环-login

    _user = "chung"
    _passwd = "abc123"
    
    counter = 0
    while counter < 3: #当while后面的条件成立(True),才会执行它下面的代码
        username = input("Username:")
        password = input("Password:")
        if username == _user and password == _passwd:
            print ("Welcome %s login ..." % _user)
            break
        else:
            print("Invalid username or password!")
        counter += 1
    else:
        print("对不起,您的输入次数已用完。")

    小结:通过计数的方式 (counter)来规定运行的次数

    while循环-login-pro版本

    _user = "chung"
    _passwd = "abc123"
    
    counter = 0
    while counter < 3: #当while后面的条件成立(True),才会执行它下面的代码
        username = input("Username:")
        password = input("Password:")
        if username == _user and password == _passwd:
            print ("Welcome %s login ..." % _user)
            break
        else:
            print("Invalid username or password!")
        counter += 1
    
        if counter == 3:
            keep_going_choic = input("要继续吗?[y/n]")
            if keep_going_choic == "y":
                counter = 0
    
    else:
        print("对不起,您的输入次数已用完。")

    小结:增加用户在输入三次结束后可以对是否继续输入进行选择 

    标识位

    exit_flag = False
    
    for i in range(10):
        if i < 5:
            continue
        print(i)
        for j in range (10):
            print ("layer2",j)
            if j == 6:
                exit_flag = True
                break
        if exit_flag: #当exit_flag = True时,则break退出
            break

    小结:3-2)运用此原理

     

    列表-增删改查

    索引(下标),都是从0开始

    注意:空格也代表一个索引位置

    name0 = 'dog'
    name1 = 'cat'
    name2 = 'fish'
    name3 = 'duck'
    name4 = 'pig'
    name5 = 'lion'

    查:切片

    a=['dog','cat','fish','duck','pig','lion']
    
    print(a[1:])#取到最后  #['cat', 'fish', 'duck', 'pig', 'lion']
    print(a[1:-1])#取到倒数第二个值  #['cat', 'fish', 'duck', 'pig']
    print(a[1:-2:1])#从左到右一个一个去取  #['cat', 'fish', 'duck']
    print(a[1::2])#从左到右隔一个去取  #['cat', 'duck', 'lion']
    print(a[3::-1])#从右到左一个一个去取  #['duck', 'fish', 'cat', 'dog']
    b=a[3::-1]
    print(b)#['duck', 'fish', 'cat', 'dog']
    print(a[-2::-1])#['pig', 'duck', 'fish', 'cat', 'dog']

    增:append   insert

    a=['dog','cat','fish','duck','pig','lion']
     
    a.append('boy') #默认插到最后一个位置
    print(a)
    a.insert(1,'boy') #将数据插入到任意一个位置
    print(a)

    a=['dog','cat','fish','duck','pig','lion']
    
    a[1] = 'girl'
    print(a) #['dog', 'girl', 'fish', 'duck', 'pig', 'lion']
    a[1:3] = ['a','b']
    print(a) #['dog', 'a', 'b', 'duck', 'pig', 'lion']

    删  remove pop del

    a=['dog','cat','fish','duck','pig','lion']
    
    a.remove(a[0])#remove删除一个整体、固定的值
    print(a)
    b=a.pop(1) #pop删除索引,会反馈所删掉的值,如果不指定默认会删除最后一个
    print(a)
    print(b)
    del a[0] #del a 指删除a的所有    #del既可以删除某一个固定的内容,还可以把一个对象删掉
    print(a)

    列表内置方法

    count:计算某元素出现次数

    t=['to','be','or','not','to','be'].count('to')
    print(t)  #2

    extend 规定一组数据插入到另一组数据中

    a = [1,2,3]
    b = [4,5,6]
    a.extend(b)
    print(a) #[1, 2, 3, 4, 5, 6]
    print(b) #[4, 5, 6]

    index 根据内容找位置

    a=['dog','cat','fish','duck','pig','lion']
    print(a.index('duck')) #3

    reverse 将元素原始顺序变成倒序

    a=['dog','cat','fish','duck','pig','lion']
    a.reverse()
    print(a) #['lion', 'pig', 'duck', 'fish', 'cat', 'dog']

    sort 由乱序变顺序

    x = [4,6,2,1,7,9]
    x.sort() #当前是从小到大,如果想从大到小排序,输入x.sort(reverse=True)
    print(x) #[1, 2, 4, 6, 7, 9]   #[9, 7, 6, 4, 2, 1]
    a=['dog','cat','Fish','Duck','pig','lion']
    a.sort()
    print(a) #['Duck', 'Fish', 'cat', 'dog', 'lion', 'pig']
  • 相关阅读:
    java包装类的缓存机制(转)
    分布式事务的思考(转)
    分布式事务框架介绍与使用案例
    java 内部类、匿名内部类
    spring cloud应用
    Oralce学习笔记(六)
    部署CentOS虚拟机集群
    商品详情页系统架构
    Oracle学习笔记(五)
    hystrix完成对redis访问的资源隔离
  • 原文地址:https://www.cnblogs.com/chungzhao/p/12897849.html
Copyright © 2011-2022 走看看