zoukankan      html  css  js  c++  java
  • 02.28 day03

     print(1 or 3 > 2 and 4 < 5 or 6 and 2 < 7)
    #
    # while True:
    # print(11)
    # print(22)
    # # break
    # # quit()
    # exit('网络连接失败!!')
    # print(33)
    #
    # print(44)

    # day02作业及默写
    # Day2作业及默写
    # 1.判断下列逻辑语句的True,False.
    # 1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    # 2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    # 2.求出下列逻辑语句的值。
    # 1),8 or 3 and 4 or 2 and 0 or 9 and 7
    # 2),0 or 2 and 3 and 4 or 6 and 0 or 3
    # 3.下列结果是什么?
    # 1)、6 or 2 > 1
    # 2)、3 or 2 > 1
    # 3)、0 or 5 < 4
    # 4)、5 < 4 or 3
    # 5)、2 > 1 or 6
    # 6)、3 and 2 > 1
    # 7)、0 and 3 > 1
    # 8)、2 > 1 and 3
    # 9)、3 > 1 and 0
    # 10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
    # 4.while循环语句基本结构?
    # 5.利⽤while语句写出猜⼤⼩的游戏:
    # 设定⼀个理想数字⽐如:66,让⽤户输⼊数字,如果⽐66⼤,则显示猜测的结果⼤
    # 了;如果⽐66⼩,则显示猜测的结果⼩了;只有等于66,显示猜测结果正确,然后退出
    # 循环。
    # 6.在5题的基础上进⾏升级:
    # 给⽤户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果
    # 三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。


    # 7.使⽤while循环输出 1 2 3 4 5 6 8 9 10
    # count = 0
    # while count < 10:
    # count += 1
    # if count == 7:
    # pass
    # else:
    # print(count)

    # count = 0
    # while count < 10:
    # count += 1
    # if count == 7:
    # continue
    # print(count)


    # 8.求1-100的所有数的和
    # 9.输出 1-100 内的所有奇数
    # 10.输出 1-100 内的所有偶数


    # 11.求1-2+3-4+5 ... 99的所有数的和

    # s = 0
    # count = 1
    # while count < 100:
    # if count % 2 == 1:
    # s += count
    # else:
    # s -= count
    # count += 1
    # print(s)




    # 12.⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格
    # 式化)

    count = 1
    while count < 4:
    username = input('请输入姓名:')
    password = input('请输入密码:')
    if username == 'alex' and password == 'sb':
    print('登录成功')
    break
    else:
    print('登录失败,剩余%d次,请重新登录' %(3-count))
    '''
    count 机会
    1 2
    2 1
    3 0
    '''






    # 13.简述ASCII、Unicode、utf -8编码
    # 14.简述位和字节的关系?
    # 明⽇默写内容:
    # 1. 求1~100所有数的和。
    # 2. break continue的含义区别
    # 3,Unicode,utf -8,GBK,每个编码英⽂,中⽂,分别⽤⼏个字节表示。






    一、int

    
    
    复制代码
    十进制:
        1 23  100  10000
        1.23 1.56  3.1415926
    
    二进制:
     01010101010101
    
    八进制:
        pass
    
    十六进制:
    0 1 2 3 4 5 6 7 8 9 A B C D E F
        pass
        16:     1 * 16 + 6 = 22
    
    十进制与二进制的转化。
    
    二进制 -----> 十进制
    
    
    0010 0111
            1 * 2**0 + 1 * 2**1 + 1* 2**2 + 1 * 2**5 = 39
            
    
    十进制转化成二进制
    
    42   ------> ? 101010
    复制代码
    View Code
    
    

    二、bool

    复制代码
    bool
    True False
    int str bool
    int  str
    int  bool
    
    str  bool
    
    str  ---> bool  非空即True
    s1 = 'fsdafa'
    s1 = '太白'
    s1 = ' '
    s1 = ''
    # print(bool(s1))
    
    bool  ---> str 没有意义
    print(str(True),type(str(True)))
    复制代码
    View Code

    三、str

    python中凡是用引号引起来的都是字符串
    1,存储相对少量的数据。
    2,描述信息。

    3.1:字符串的索引与切片

    每个字符都有对应的号码。
    通过索引(切片)出来的内容都是字符串类型。

    s = 'python字符串的使用'

    3.1.1:通过索引(下标) 号牌 找到对应的元素。

    复制代码
    s1 = s[0]
    print(s1,type(s1))
    
    s2 = s[2]
    print(s2)
    
    s3 = s[-1]
    print(s3)
    
    s4 = s[-2]
    print(s4)
    复制代码

     3.1.2:按照切片找值:顾头不顾尾

    复制代码
    s1 = s[:6] # 从0开始可以省略不写
    print(s1)
    
    s2 = s[6:9]
    print(s2)
    
    s3 = s[:] # 从头取到尾
    print(s3)
    
    s4 = s[6:]
    print(s4)
    复制代码
    复制代码
    切片+步长
    s5 = s[:5:2]
    print(s5)
    
    
    反向取值必须加反向步长。
    s6 = s[-1:-4:-1]
    print(s6)
    
    s7 = s[-1:-6:-2]
    print(s7)
    
    
    [起始索引: 结尾索引+1: 步长]  # 切片取值
    复制代码

    3.2:字符串的常用操作方法

    大前提:对字符串的任何操作都是产生一个新的字符串,与原字符串没有关系
    s = 'yifan'
    复制代码
    1, capitalize           首字母大写,其余字母都小写  **
    
    s1 = s.capitalize()
    print(s1)
    print(s)
    
    2, upper() 全部变成大写     ***
    3, lower()  全部变成小写    ***

    s2 = s.upper() print(s2) 举例: code = 'AeRf'.upper() username = input('请输入用户名:') your_code = input('请输入验证码:').upper() # if your_code == 'AERF' or your_code == 'aerf' or .... : if your_code == code: if username =='alex': pass else: print('验证码输入有误')
    复制代码
    
    
    复制代码
    4,center   居中可设置填充物  *
    
    s3 = s.center(20)
    s3 = s.center(20, '*')
    print(s3)
    
    
    5,swapcase 大小写反转  *
    s = 'yifan'
    s4 = s.swapcase()
    print(s4)
    
    
    s = 'yifan is*agood77man'

    6,title 非字母隔开的每个单词的首字母大写 * s5 = s.title() print(s5)
    复制代码
    复制代码
    7,strip() 
      默认去除字符串两边的空格,换行符,制表符 ***
      只是去除 左边lstrip() 右边 rstrip() s = ' yifan\n' s = '\tyifan\n' print(s) s6 = s.strip() print(s6) name = input('请输入姓名:').strip() if name == 'yifan': print('输入正确') else: print('输入错误') s = 'qw*awle@xyt@' # 可设置去除的字符

    s6 = s.strip('qyt@w*') print(s6)
    复制代码
    复制代码
    8,split    ***
    str  ---> list
    默认按照空格分割,把字符串分割成列表
    
    s = '武大 小潘 西门'
    l = s.split()
    print(l)
    
    
    指定字符分割。
    s = '武大,小潘,西门'
    s = '武大a小潘a西门'
    l = s.split(',')
    l = s.split('a')
    print(l)
    s = 'a武大a小潘a西门' print(s.split('a')) 指定分割次数 s = '武大a小潘a西门' rsplit() 从右边开始分割 print(s.split('a',1))
    9,join 操作列表时,列表里面的内容必须全部是字符串类型 把列表转成字符串 连接符.join(iterable)

    s = 'yifan' s7 = '*'.join(s) s7 = '_'.join(s) s7 = 'sb'.join(s) print(s7)
    l1 = ['wusir', 'alex', 'taibai'] s7 = ','.join(l1) print(s7)
    复制代码
     
    复制代码
    10,startswith()    ***
    # 判断以什么为开头 可以切片。

    11, endswith()

    # 判断以什么为开头 可以切片。

    s = 'alextaibai' s8 = s.startswith('a') s8 = s.startswith('alex') s8 = s.startswith('alex') s8 = s.startswith('ta', 4, 9) # 顾头不顾尾 print(s8) # find :通过元素获取其索引,找到第一个就返回,找不到会返回-1. # index:通过元素获取其索引,找到第一个就返回,找不到会报错。
    s = 'taibai' s9 = s.find('a') s9 = s.find('ai')
    可以切片 s9 = s.find('a',2,) print(s9,type(s9)) s9 = s.find('W') s9 = s.index('W') print(s9) 12,replace *** s = 'yifan 是一个很oo的人,非常oo,太oo了' s10 = s.replace('oo', 'yy') s10 = s.replace('oo', 'yy', 2) print(s10)
    复制代码
    
    
    
    复制代码
    13,format  ***

    s = '我叫{},今年{},性别{}' 方法一: s11 = s.format('一帆', '23', 'man') print(s11) 方法二: s = '我叫{0},今年{1},性别{2},我依然叫{0}{0}{0}' s11 = s.format('一帆', '23', 'man') print(s11) 方法三: s = '我叫{name},今年{age},性别{sex},我依然叫{name}' s11 = s.format(name='一帆', sex='man', age='23') print(s11) 14,is系列:
    name='yifan123' print(name.isalnum()) #字符串由字母或数字组成print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成 ***

    i = '1000a' if i.isdigit(): int(i) else: print('重新输入') s = 'fdjskfldjsafkldjasfl'

    15,count 计数:字符串某个字符出现的次数 print(s.count('f'))
    复制代码
    复制代码
    16, 公共方法
    len()获取字符串的字符个数,总长度

    print(len(s),type(len(s))) s = 'f' s = 'f ' s = ' ' print(s.isspace())
    复制代码
     

    四:for循环

    复制代码
    '''   利用while循环 依次打印字符串的每个字符
    s = 'dklwfa'
    # print(s[100])
    
    len()
    d  s[0]
    k  s[1]
    l  s[2]
    ...
    a  s[count]
    
    '''
    # print(s[0])
    # print(s[1])
    # print(s[5])
    s = 'dkfdsafdasfdasfdaslsfa'# 最后一个元素的索引值与总长度有关 index = 0 while index < len(s): print(s[index]) index += 1

    for 循环 :有限循环
    s = 'dkfdsafdasfdasfdaslsfa' ''' for 变量 in iterable: pass '''

    for i in s: print(i) if i == 's': break # break # continue # for else: 用法与while else相同

    复制代码

    补充知识点:
    1.查看一个类中所有的可用方法:
     [x for x in dir(str) if not x.startswith('_')]
     sorted([x for x in dir(str) if not x.startswith('_')])
     
    2.str类中find,index的区别
    3.判断开始或者结束字符串的注意事项:
     startswith:
     endswith:
     
     判断一个文件,是否是jpg格式的图片?
      filename后缀有可能大写和小写混用,所以要先统一一下。统一成大写或者小写都可以。
      
      伪代码:
      if filename.lower().endswith('.jpg'):
       ok
       
     
    4.切片操作总结:
     格式:
      [起始值:结束值:顺序和步长]
      
     1.切片的顺序取决于最后一个参数,正数:正序;负数:倒序,默认是正序
     
     2.正序时起始值在结束值右侧,或者倒序时起始值在结束值左侧,都会返回空字符串。
      s = 'Hello'
      s[3:2:2] -> ''
      s[1:3:-2] -> ''
      即:切片不会跨越字符串的首尾。
     3.正数索引和负数索引可以混用。只要能指到正确的元素即可。
      
      
    5.总结str类中涉及到从右侧开始的操作:
     rfind    从右侧查找
     rindex    从右侧查找
     rjust    从右侧对齐
     rstrip    从右侧删除空白字符
     rsplit    从右侧切分
     rpartition   从右侧分组







  • 相关阅读:
    为or、in平反——or、in到底能不能利用索引?
    【自然框架】稳定版beta1的Demo —— 四:角色管理。另外 在线演示 终于搞定了
    【自然框架】CMS之数据库设计
    【自然框架】——重开在线演示
    刘谦魔术的一个秘密 硬币穿越玻璃的那个。
    【自然框架】PowerDesigner 格式的元数据的表结构
    【自然框架】元数据的数据库结构的详细说明和示例(一):项目描述部分
    程序员与项目经理
    Android 中文API (70) —— BluetoothDevice[蓝牙]
    Android API 中文 (50) —— SpinnerAdapter
  • 原文地址:https://www.cnblogs.com/xingkongzhizhu/p/10485830.html
Copyright © 2011-2022 走看看