zoukankan      html  css  js  c++  java
  • for循环与数字类型、字符串类型

    内容一:for循环
    '''
    1、什么是for循环
    循环就是重复做某件事,for循环是python提供第二种循环机制

    2、为何要有for循环
    理论上for循环能做的事情,while循环都可以做
    之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁

    3、如何用for循环
    语法:
    for 变量名 in 可迭代对象:# 可迭代对象可以是:列表、字典、字符串、元组、集合
    代码1
    代码2
    代码3
    ...
    '''
    # 一:for基本使用之循环取值
    # 案例1:列表循环取值
    # 简单版
    # l = ['alex_dsb', 'lxx_dsb', 'egon_nb']
    # for x in l: # x='lxx_dsb'
    # print(x)

    # 复杂版:
    # l = ['alex_dsb', 'lxx_dsb', 'egon_nb']
    # i=0
    # while i < 3:
    # print(l[i])
    # i+=1


    # 案例2:字典循环取值
    # 简单版
    # dic={'k1':111,'k2':2222,'k3':333}
    # for k in dic:
    # print(k,dic[k])

    # 复杂版:while循环可以遍历字典,太麻烦了

    # 案例3:字符串循环取值
    # 简单版
    # msg="you can you up,no can no bb"
    # for x in msg:
    # print(x)

    # 复杂版:while循环可以遍历字典,太麻烦了


    # 二:总结for循环与while循环的异同
    # 1、相同之处:都是循环,for循环可以干的事,while循环也可以干
    # 2、不同之处:
    # while循环称之为条件循环,循环次数取决于条件何时变为假
    # for循环称之为"取值循环",循环次数取决in后包含的值的个数
    # for x in [1,2,3]:
    # print('===>')
    # print('8888')


    # 三:for循环控制循环次数:range()
    # in后直接放一个数据类型来控制循环次数有局限性:
    # 当循环次数过多时,数据类型包含值的格式需要伴随着增加
    # for x in 'a c':
    # inp_name=input('please input your name: ')
    # inp_pwd=input('please input your password: ')
    #

    # range功能介绍
    '''
    >>> range(10)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>>
    >>> range(1,9) # 1...8
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>>
    >>> range(1,9,1) # 1 2 3 4 5 6 7 8
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> range(1,9,2) # 1 3 5 7
    [1, 3, 5, 7]
    '''
    # for i in range(30):
    # print('===>')


    # for+break: 同while循环一样
    # for+else:同while循环一样
    # username='egon'
    # password='123'
    # for i in range(3):
    # inp_name = input('请输入您的账号:')
    # inp_pwd = input('请输入您的密码:')
    #
    # if inp_name == username and inp_pwd == password:
    # print('登录成功')
    # break
    # else:
    # print('输错账号密码次数过多')


    # 四:range补充知识(了解)
    # 1、for搭配range,可以按照索引取值,但是麻烦,所以不推荐
    # l=['aaa','bbb','ccc'] # len(l)
    # for i in range(len(l)):
    # print(i,l[i])
    #
    # for x in l:
    # print(l)
    # 2、range()在python3里得到的是一只"会下蛋的老母鸡"


    # 五:for+continue
    # for i in range(6): # 0 1 2 3 4 5
    # if i == 4:
    # continue
    # print(i)

    # 六:for循环嵌套:外层循环循环一次,内层循环需要完整的循环完毕
    # for i in range(3):
    # print('外层循环-->', i)
    # for j in range(5):
    # print('内层-->', j)

    # 补充:终止for循环只有break一种方案

    # print('hello %s' % 'egon')
    # 1、print之逗号的使用
    # print('hello','world','egon')
    # 2、换行符
    # print('hello ')
    # print('world')
    # 3、print值end参数的使用
    # print('hello ',end='')
    # print('word')
    print('hello',end='*')
    print('world',end='*')
    内容二:数字类型
    # 一:int类型
    # 1、作用:
    # 2、定义:
    # age = 10 # age=int(10)

    # 名字(参数)
    # print('hello','world')

    # x=int(10)
    # name=input('xxx')
    # res=print('xxx') # 没有产品
    # print(res)

    # 2、类型转换
    # 2.1 纯数字的字符串转成int
    # res=int('100111')
    # print(res,type(res))

    # 2.2(了解)
    # 2.2.1 十进制转成其他进制
    # 10进制 -> 二进制
    # 11 - > 1011
    # 1011-> 8+2+1
    # print(bin(11)) # 0b1011

    # 10进制 -> 八进制
    # print(oct(11)) # 0o13

    # 10进制 -> 十六进制
    # print(hex(11)) # 0xb
    # print(hex(123)) # 0xb

    # 2.2.2 其他制转成其十进制
    # 二进制->10进制
    # print(int('0b1011',2)) # 11

    # 二进制->8进制
    # print(int('0o13',8)) # 11

    # 二进制->16进制
    # print(int('0xb',16)) # 11

    # 3、使用

    # 二:float类型
    # 1、作用
    # 2、定义
    # salary=3.1 # salary=float(3.1)

    # 3、类型转换
    # res=float("3.1")
    # print(res,type(res))

    # 4、使用
    # int与float没有需要掌握的内置方法
    # 他们的使用就是数学运算+比较运算
    内容三:字符串类型
    # 1、作用
    # 2、定义
    # msg='hello' # msg=str('msg')
    # print(type(msg))

    # 3、类型转换
    # str可以把任意其他类型都转成字符串
    # res=str({'a':1})
    # print(res,type(res))

    # 4、使用:内置方法
    # 4.1 优先掌握
    # 4.1.1、按索引取值(正向取+反向取) :只能取
    msg='hello world'
    # 正向取
    # print(msg[0])
    # print(msg[5])
    # 反向取
    # print(msg[-1])

    # 只能取
    # msg[0]='H'


    # 4.1.2、切片:索引的拓展应用,从一个大字符串中拷贝出一个子字符串
    msg='hello world'
    # 顾头不顾尾
    # res=msg[0:5] #x
    # print(res)
    # print(msg)

    # 步长
    # res=msg[0:5:2] # 0 2 4
    # print(res) # hlo

    # 反向步长(了解)
    # res=msg[5:0:-1]
    # print(res) #" olle"

    msg='hello world'
    # res=msg[:] # res=msg[0:11]
    # print(res)

    # res=msg[::-1] # 把字符串倒过来
    # print(res)

    # 4.1.3、长度len
    # msg='hello world'
    # print(len(msg))

    # 4.1.4、成员运算in和not in
    # 判断一个子字符串是否存在于一个大字符串中
    # print("alex" in "alex is sb")
    # print("alex" not in "alex is sb")
    # print(not "alex" in "alex is sb") # 不推荐使用

    # 4.1.5、移除字符串左右两侧的符号strip
    # 默认去掉的空格
    # msg=' egon '
    # res=msg.strip()
    # print(msg) # 不会改变原值
    # print(res) # 是产生了新值

    # 默认去掉的空格
    # msg='****egon****'
    # print(msg.strip('*'))

    # 了解:strip只取两边,不去中间
    # msg='****e*****gon****'
    # print(msg.strip('*'))

    # msg='**/*=-**egon**-=()**'
    # print(msg.strip('*/-=()'))

    # 应用
    # inp_user=input('your name>>: ').strip() # inp_user=" egon"
    # inp_pwd=input('your password>>: ').strip()
    # if inp_user == 'egon' and inp_pwd == '123':
    # print('登录成功')
    # else:
    # print('账号密码错误')


    # 4.1.6、切分split:把一个字符串按照某种分隔符进行切分,得到一个列表
    # # 默认分隔符是空格
    # info='egon 18 male'
    # res=info.split()
    # print(res)

    # # 指定分隔符
    # info='egon:18:male'
    # res=info.split(':')
    # print(res)

    # 指定分隔次数(了解)
    # info='egon:18:male'
    # res=info.split(':',1)
    # print(res)

    # 4.1.7、循环
    # info='egon:18:male'
    # for x in info:
    # print(x)


    # 4.2 需要掌握
    #4.2.1、strip,lstrip,rstrip
    # msg='***egon****'
    # print(msg.strip('*'))
    # print(msg.lstrip('*'))
    # print(msg.rstrip('*'))

    #4.2.2、lower,upper
    # msg='AbbbCCCC'
    # print(msg.lower())
    # print(msg.upper())

    #4.2.3、startswith,endswith
    # print("alex is sb".startswith("alex"))
    # print("alex is sb".endswith('sb'))

    #4.2.4、format

    #4.2.5、split,rsplit:将字符串切成列表
    # info="egon:18:male"
    # print(info.split(':',1)) # ["egon","18:male"]
    # print(info.rsplit(':',1)) # ["egon:18","male"]

    #4.2.6、join: 把列表拼接成字符串
    # l=['egon', '18', 'male']
    # res=l[0]+":"+l[1]+":"+l[2]
    # res=":".join(l) # 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
    # print(res)

    # l=[1,"2",'aaa']
    # ":".join(l)

    #4.2.7、replace
    # msg="you can you up no can no bb"
    # print(msg.replace("you","YOU",))
    # print(msg.replace("you","YOU",1))

    #4.2.8、isdigit
    # 判断字符串是否由纯数字组成
    # print('123'.isdigit())
    # print('12.3'.isdigit())

    # age=input('请输入你的年龄:').strip()
    # if age.isdigit():
    # age=int(age) # int("abbab")
    # if age > 18:
    # print('猜大了')
    # elif age < 18:
    # print('猜小了')
    # else:
    # print('才最了')
    # else:
    # print('必须输入数字,傻子')

    # 4.3了解
    #4.3.1、find,rfind,index,rindex,count
    msg='hello egon hahaha'
    # 找到返回起始索引
    # print(msg.find('e')) # 返回要查找的字符串在大字符串中的起始索引
    # print(msg.find('egon'))
    # print(msg.index('e'))
    # print(msg.index('egon'))
    # 找不到
    # print(msg.find('xxx')) # 返回-1,代表找不到
    # print(msg.index('xxx')) # 抛出异常

    # msg='hello egon hahaha egon、 egon'
    # print(msg.count('egon'))

    #4.3.2、center,ljust,rjust,zfill
    # print('egon'.center(50,'*'))
    # print('egon'.ljust(50,'*'))
    # print('egon'.rjust(50,'*'))
    # print('egon'.zfill(10))

    #4.3.3、expandtabs
    # msg='hello world'
    # print(msg.expandtabs(2)) # 设置制表符代表的空格数为2

    #4.3.4、captalize,swapcase,title
    # print("hello world egon".capitalize())
    # print("Hello WorLd EGon".swapcase())
    # print("hello world egon".title())

    #4.3.5、is数字系列
    #4.3.6、is其他
    # print('abc'.islower())
    # print('ABC'.isupper())
    # print('Hello World'.istitle())
    # print('123123aadsf'.isalnum()) # 字符串由字母或数字组成结果为True
    # print('ad'.isalpha()) # 字符串由由字母组成结果为True
    # print(' '.isspace()) # 字符串由空格组成结果为True
    # print('print'.isidentifier())
    # print('age_of_egon'.isidentifier())
    # print('1age_of_egon'.isidentifier())


    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='四' #中文数字
    num4='Ⅳ' #罗马数字

    # isdigit只能识别:num1、num2
    # print(num1.isdigit()) # True
    # print(num2.isdigit()) # True
    # print(num3.isdigit()) # False
    # print(num4.isdigit()) # False



    # isnumberic可以识别:num2、num3、num4
    # print(num2.isnumeric()) # True
    # print(num3.isnumeric()) # True
    # print(num4.isnumeric()) # True

    # isdecimal只能识别:num2
    print(num2.isdecimal()) # True
    print(num3.isdecimal()) # False
    print(num4.isdecimal()) # False








     
  • 相关阅读:
    leetcode 86. Partition List
    leetcode 303. Range Sum Query
    leetcode 1310. XOR Queries of a Subarray
    leetcode 1309. Decrypt String from Alphabet to Integer Mapping
    leetcode 215. Kth Largest Element in an Array
    将numpy.ndarray写入excel
    leetcode 1021 Remove Outermost Parentheses
    leetcode 1306. Jump Game III
    leetcode 1305. All Elements in Two Binary Search Trees
    ICCV2019 oral:Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution
  • 原文地址:https://www.cnblogs.com/mayrain/p/12459073.html
Copyright © 2011-2022 走看看