if语句

发布时间:2019-09-30 07:17:56编辑:auto阅读(1957)

    python for use

    [TOC]

    语法

    if语句

    示例

    #!/usr/bin/env python
    user = 'jack'
    passwd = 'jack'
    username = input('username:')
    password = input('password:')
    
    if user == username and passwd == password :
        print("welcome login...")
    else:
        print("Invalid user name or password...")

    for循环

    age = 22
    counter = 0
    for i in  range(10):
    print('counter',counter)
    if counter < 3:
        guess_num = int(input('input your guess num:'))
        if guess_num == age :
            print('Congratulations ! you got it.')
            break #跳出整个循环
        elif guess_num > age:
            print('Think smaller!')
        else:
            print('Think Big...')
    else:
        continue_confirm = input('Do you want to continue because you are stupid:')
        if continue_confirm == 'y':
            counter = 0
            continue #跳出本次循环
        else:
            print('bye')
            break
    counter += 1    #counter = counter + 1

    while循环

    示例

    #!/usr/bin/env python
    count = 0
    while True:
        count += 1 #count自增
        if count > 50 and count < 60: #count跳过50-60之间的循环
            continue #跳出本次循环
        print('hello word',count)
        if count == 100:
            print('已暂停')
            break #跳出全局循环
    # while循环本身是死循环,上面代码示例while用法

    字符串常用操作

    strip将输入信息前后空格去除

    username = input("username:")
    if username.strip() == 'liangml':
        print('welcome')

    split

    name = "liangml,tom,jack"
    name2 = name.split(",") #拆分以逗号分隔的字符串得到一个列表
    print('|'.join(name2))#join是将name2结果以|形式合并到一起
    print(name2)

    capitalize 首字母大写

    print(name.capitalize())

    format字符串两种赋值方式

    format字符串两种赋值方式msg = "Hello,{name},It's been a long {age} since last time sopke...."
    msg2 = msg.format(name="zhangsan",age=111)
    print(msg2)
    msg2 = "lisi{0},dddd{1}"
    print(msg2.format("liangml",22))

    center 将字符串两边长度均匀分开

    name = 'jack,tom,zhangsan,lisi'
    print(name)
    print(name.center(40,'-'))

    find 查找赋值中有几个

    print(name.find('a'))

    isdigit 判断是否为数字

    age = input('your age:')
    if age.isdigit():
        age = int(age)
    else:
        print('Invalid data type')

    isalnum 判断不允许有特殊字符,返回布尔值

    name = 'liangml'
    print(name.isalnum())

    endswith,startswith 分别判断字符串是不是以制定字符结尾或开始,返回布尔值

    print(name.endswith("ml"))
    print(name.startswith('ml'))

    upper、lower 全部变大、全部变小

    print(name.upper())
    print(name.lower())

    列表使用

    列表 索引、切片、追加、删除、长度、循环、包含
    列表语法

    import  copy
    
    list = ['Jack','Tom',[' Abby','Ada'],1,2,3,33,3,3,3,2] #列表里可以嵌套列表
    
    list12 = ['Jack','Tom',' Abby','Ada']
    

    查询

    list1 = name[1] #查看第一个元素
    list1 = name[-1] #查看最后一个元素
    list1 = name[:2] #取出前两个元素
    list1 = name[-5:] #取出后5个元素,默认包含最后一个元素
    print('Tom' in list) #查看列表中是否有对应元素,返回一个布尔值

    删除

    list.remove("Tom") #删除一个元素
    del list[2:4] #del是一个全局用法,可以删除全局任何数据
    list.pop(1) #使用pop删除默认删除第一个

    增加

    list.append('liangml') #append追加一个
    list.insert(2,'shit') #在列表中插入一条数据

    修改

    list[1] = 'tom'

    统计

    list12.sort() #python2.x中字符串和数字会排序数字在前,Python3.x中字符串、数字无法排序
    list1 = list.count(3) #统计列表某个元素数量
    list2 = list.index(33) #index查看对应元素索引
    list4 = list.extend(list12) #将list12列表扩展入list列表中

    复制

    list5 = list.copy() #列表copy用法只复制列表中第一层,嵌入式列表不会被复制
    list6 = copy.deepcopy(list) #使用copy模块会将全部的数据复制一份出来

    清除

    list.clear() #将整个列表清空

    长度查看

    print(len(list)) #查看列表的长度也可以看其他数据的长度

    翻转一个列表

    list.reverse() #翻转整个list列表
    print(list[::3]) # 隔3个取一个值
    print(list)

    更改单个列表中相同的元素

    if 3 in list:
        num_of_ele = list.count(3)
        posistion_of_ele = list.index(3)
        list[posistion_of_ele] = 3333
        print("[%s] 3 is/are in name,posistion:[%s]" % (num_of_ele, posistion_of_ele))
    print(list)

    批量更改列表中相同的元素

    for i in range(list.count(3)):
        ele_index = list.index(3)
        list[ele_index] = 3333
    print(list)

    只读列表元组

    r = (1,2,3,4,5,5) #使用格式
    print(r.count(5)) ##统计参数
    print(r.index(1)) ##查看索引
    print(type(r)) #查看类型

    字典的使用

    字典使用

    自动去重功能

    列表规则

    • 1.开始、结尾大括号
    • 2.key、value组成中间用冒号分隔
    • 3.字典里可以嵌套字典
    • 4.字典默认是无序的
    my_db = {
        32131118540123950:{
            'name' : 'Tom',
            'age' : 21,
            'addr' : 'shanxi'
        },
        14240218540123950: {
            'name': 'Ada',
            'age': 22,
            'addr': 'BeiJing'
        },
        21122218540123950: {
            'name': 'Jack',
            'age': 23,
            'addr': 'shandong'
        }
    }
    my_db2 = {
        'name' : 'yangsheng',
        21122218540123950: {
            'name': '123',
            'age': 23,
            'addr': 'shandong'
        }
    
    }
    my_db[32131118540123950]['name'] = 'Mr.Liang' #修改字典元素
    my_db[32131118540123950]['wechat'] = 'Lin1729562020' #新增或更新字典元素
    del my_db[32131118540123950]['addr'] #删除元素
    my_db[32131118540123950].pop('name') #删除元素
    v = my_db.get(32131118540123950) #获取一个值,没有时返回None
    my_db.update(my_db2) #my_db2会将my_db值覆盖,如果没有就新增
    print(my_db.items()) #将字典转换成列表
    print(my_db.values()) #打印字典的所有values
    print(my_db.keys()) #打印字典所有的key
    print(32131118540123950 in my_db) #判断key是否在字典中,返回布尔值
    print(my_db.setdefault(32131118540124950,'xiaowang')) #取出对应的key值,如果不存在新建key,返回None(value可以指定)
    print(my_db.fromkeys([1,2,3,4,5,],'A')) #将列表里的值循环到字典中value为A
    print(my_db.popitem()) #随机删除任意一个key
    print(my_db[32131118540123950])
    print(my_db)

关键字