美文网首页
4总 循环和分之

4总 循环和分之

作者: 大黄蜂人工智能 | 来源:发表于2018-08-23 21:29 被阅读0次

    1.认识字符串,'圣诞节开发ya123', "abc%u23", '\n\t\'"', '',""
    2.python中的字符编码: Unicode , 使用两个字节来对一个字符进行编码 3.获取字符串中的字符
    """
    a.获取单个字符
    字符串[下标]
    下标不能越界:0 ~ 长度-1, -1 ~ -长度

    b.获取部分字符(切片)
    字符串[下标1:下标2:步进] ,没有步进的时候,相当于步进是1
    """

    4.相关运算
    a.str1+str2 , 拼接
    b.str1*整数, 字符串重复
    c.比较运算, == , != , >, <, >=, <=
    d. in, not in

    5.长度
    len(str1)

    6.相关的方法

    字符串的格式化
    """
    带格式符的字符串 % (格式符对应的值)
    说明:%是固定的格式; ()也是固定格式。
    带格式符的字符串中有几个格式符,那么后面的括号中就必须有几个和它一一对应的值。

    %s ---> 字符串
    %d ---> 整数
    %f ---> 浮点数 %.nf ---> 保留小数点后n位小数
    %c ---> 字符 可以将数字转换成字符拼接到字符串中
    """
    first_name = '张'
    last_name = '三'
    age = 28

    name = first_name + last_name
    print(name)

    hello, XXX! 今年X岁
    newstr = 'hello,%s%s! 今年%d岁' % (first_name, last_name, age)
    print(newstr)

    金额是:xx.xx元
    money = 999
    newstr = '金额是:%.2f元' % (money)
    print(newstr)

    %c的用法
    a:
    unit = '$'
    newstr = '金额是:%.2f%c' % (money, unit)
    print(newstr)

    b:
    char_code = 97
    newstr = '%d对应的字符是%c' % (char_code, char_code)
    print(newstr)

    %x/%X
    number = 1000
    newstr = '%d的十六进制是:0x%X' % (number, number)
    print(newstr)

    练习:使用变量保存学生的名字,年龄和成绩
    xxx今年xx岁,他的语文成绩是xxx分。 要求成绩只保留一位小数
    student_name = '小明'
    age = 30
    score = 80
    message = '%s今年%d岁,他的语文成绩是%.1f分。' % (student_name, age, score)
    print(message)

    int, float, bool, str

    1.数据类型的自动转换

    a = 10 # 整型(int)
    b = 12.5 # 浮点型(float)
    result = a + b # 会自动将整型a,转换成浮点型,然后再计算
    print(type(result))

    result2 = a + True # 会自动将布尔True,转换成整型1
    print(result2, type(result2))

    2.强制转换
    基本语法:类型名(需要转换的数据)
    a.将其他数据转换成int类型
    '''
    浮点型、布尔和部分字符串可以转换
    '''

    print(int(12.55)) # float -> int: 去掉小数点和小数点后面的数
    print(int(True), int(False)) # bool -> int: True为1,False为0

    去掉字符串的引号后,字符串的内容本身就是一个整数的时候,才能被转换成整型
    print(int('-123')) # 可以转换
    print(int('23.4')) # 不可以转换

    b.将其他的数据类型转换成float类型
    """
    整数,布尔和部分字符串可以转换
    """
    print(float(100)) # int -> float: 在整数后加.0
    print(float(True), float(False)) #bool-> float: True:1.0, False:0.0

    去掉引号后,字符串的内容本身就是一个整数或者浮点数的时候,才能被转换成浮点型
    print(float('2e3'), float('-12.5'), float('100'))

    c.将其他的数据类型转换成bool
    """
    所有的数据类型的数据都可以转换成bool

    数字中:除了0是False,其他的都是True
    字符串中:除了空串,其他的都是True

    总结:所有为空、为0的值全部是False。否则就是True
    """
    print(bool(0.0000))
    print(bool(''))
    print(bool([]))
    print(bool({}))
    print(bool(None))

    d.其他类型转换成字符串
    """
    所有的数据都可以转换成字符串。转换的时候就是在数据的外面加引号
    """
    print(str(100), str(18.9), str(True), str([1,2,3]))

    2.python中的分之结构只有一种:if分之结构

    """

    1. if

    语法:
    if 条件语句:
    执行语句块

    其他语句

    说明:
    a. if: python中的关键字,'如果'的意思,用来做判断
    b. 条件语句: 最终的结构会被转换成布尔值
    c. 冒号: 冒号是固定写法,必须写!
    d. 执行语句块:这儿可以是多行语句,但是每行语句必须和前面的if保持一个缩进(一个tab)

    执行过程:先判断条件语句的结果是否为True,如果为True就执行冒号后面的执行语句块。
    否则直接执行if模块后的其他语句

    """

    age = 10

    if age >= 18:
    print('成年')
    print('可以进网吧')

    练习:用一个变量保存一个学生的成绩,要求:当学生的成绩大于90的时候,打印优秀。
    不管成绩是多少,都把成绩打印出来
    score = 99

    if score > 90:
    print('优秀')

    print(score)

    """

    1. if-else
      语法:
      if 条件语句:
      执行语句块1
      else:
      执行语句块2

    其他语句

    说明:
    else: 关键字(else后边的冒号不能省)

    执行过程:先判断条件语句的结果是否为True,如果为True就执行执行语句块1,
    执行完语句块1后再执行其他语句;如果为False就执行语句块2,
    执行完语句块2后再执行其他语句
    """
    要求年龄大于等于18就打印成年,否则打印未成年
    age = 12

    if age >= 18:
    print('成年')
    else:
    print('未成年')
    print('不能进网吧')

    """
    3.if-elif-(else)

    语法:
    if 条件语句1:
    语句块1

    elif 条件语句2:
    语句块2

    elif 条件语句3:
    语句块3

    ...
    

    else:
    语句块n

    其他语句

    """
    要求成绩大于90分打印优秀,80-90打印良好,60-79及格,60以下不及格
    score = 50

    if score > 90:
    print('优秀')

    elif score >= 80:
    print('良好')

    elif score >= 60:
    print('及格')

    else:
    print('不及格')

    """
    4.if语句的嵌套
    每个if分之中都可以嵌套其他的if语句

    if 条件1:
    执行语句1
    if 条件2:
    执行语句2
    else:
    执行语句3
    else:
    执行语句4

    """
    成绩和年龄:如果成绩大于等于90并且年龄是18以上就获取 奖金100万,
    年龄小于18就获取奖金200万。成绩小于90不管多少岁打印没有奖金
    score = 90
    age = 18
    if score >= 90:
    if age >= 18:
    print('100万')
    else:
    print('200万')
    else:
    print('没有奖金')

    练习: 产生一个随机数(0-100),判断随机数是否是偶数,如果是打印偶数,否则打印奇数。
    如果能够被4整数,再打印能被4整除
    import random
    number = random.randint(0, 100)
    print('随机数是:%d' % (number))

    if number % 2 == 0:
    print('偶数')
    if number % 4 == 0:
    print('能够被4整除')
    else:
    print('奇数')

    补充:
    import是python中导入模块或者模块中内容的关键字
    random是python内置的产生随机数的模块

    number = random.randint(10, 20) # 产生一个10到20的随机整数,并且存到number中
    print(number)

    3.判断一个数是否是偶数的两种写法

    number = 11

    初学者
    if number % 2 == 0:
    print('偶数')

    推荐
    if not number % 2:
    print('偶数')

    if number % 2:
    print('奇数')
    else:
    print('偶数')

    判断一个字符串是否是空串
    初学者
    str1 = 'abc'

    if str1 == '':
    print('是空串')
    else:
    print('不是空串')

    if len(str1) == 0:
    print('是空串')
    else:
    print('不是空串')

    推荐
    if str1:
    print('不是空串')
    else:
    print('是空串')

    if not str1:
    print('空串')
    else:
    print('不是空串')

    4.for循环

    1+2+3+4+5+....+100
    在完成某个功能的时候,如果需要重复某个操作,就可以使用循环。
    python中循环结构有两种:for循环和while循环

    """
    1.for循环的结构:
    for 变量名 in 序列:
    循环体

    说明:
    a.for: 关键字
    b.变量名: 和声明变量时的变量名的要求一样
    c.in: 关键字
    d.序列: 容器(数据本身是由多个数据组成),
    例如:字符串、列表、字典、元祖、集合、range、生成式和生成器(迭代器)
    e.循环体:需要重复执行的代码

    执行过程:
    让变量去序列中取数据,一个一个的取,取完为止。每取一个数据,执行一次循环体
    """

    """
    x = a
    a
    x = b
    b
    x = c
    c
    x = 1
    1
    x = 2
    2
    x = 3
    3
    """
    for x in 'abc123':
    print(x)

    range函数是python中内置函数,作用是产生指定范围中的数字
    xrange是python2中的函数,python3中用range来代替了
    """
    range(N): 产生0 ~ N-1的所有整数
    range(N,M): 产生 N ~ M-1的所有整数
    range(N,M,step): 产生从 N开始,每step产生一个整数,到M之前
    """
    print('===============')
    for x in range(10):
    print(x)

    print('------------')
    for num in range(10,21):
    print(num)

    for x in range(1,11,2):
    print(x)

    练习:计算1+2+3+...+100
    a.先取出1,2,3,... 100

    """
    sum1 = 0
    x = 1,2,3,4,5
    第一次: x = 1 sum1 += 1 sum1 = sum1 + 1 = 0+1
    第二次: x = 2 sum1 += 2 sum1 = sum1 + 2 = 0+1+2
    第三次: x = 3 sum1 += 3 sum1 = sum1 + 3 = 0+1+2+3
    第四次: x = 4 sum1 += 4 sum1 = sum1 + 4 = 0+1+2+3+4
    第五次: x = 5 sum1 += 5 sum1 = sum1 + 5 = 0+1+2+3+4+5
    """
    sum1 = 0
    for x in range(1, 101):
    sum1 += x

    print(sum1)

    统计1~1000中能够被3整除的数的个数
    count = 0
    for x in range(1, 1001):
    if x % 3 == 0:
    print('%d可以被3整除' % (x))
    count += 1

    print('1-1000中能被3整除的个数:%d' % (count))

    注意: for循环中用来获取序列值的变量,在循环体不是一定要使用。
    如果不用,那么变量名可以声明为_
    打印50行'****'
    for _ in range(50):
    print('****')

    """

    5.while结构:

    while 条件语句:
    循环体

    2.说明:
    while: 关键字
    条件语句: 结果是True或者False
    循环体: 要重复执行的代码

    3.执行过程:
    判断条件语句的结果是否为True, 如果为True就执行循环体,
    执行完循环体再判断条件语句是否为True,如果为True就执行循环体....
    直到条件语句的结果为False为止
    """
    1+2+3+...+100

    """
    x = 1
    sum1 = 0

    x = 1
    1 <= 5 True; sum1 += 1 sum1 = sum1 + 1 = 0+1; x = x+1 = 2

    x = 2
    2 <= 5 True; sum1 += 2 sum1 = 0+1+2; x = x+1 = 3

    x = 3
    3 <= 5 True; sum1 += 3 sum1 = 1+2+3; x = x+1 = 4

    x = 4
    4 <= 5 True; sum1 += 4 sum1 = 1+2+3+4; x = 5

    x = 5
    5 <= 5 True; sum1 += 5 sum1 = 1+2+3+4+5; x = 6

    x = 6
    6 <= 5 False 结束

    """
    x = 1
    sum1 = 0
    while x <= 100:
    print(x)
    sum1 += x
    x += 1

    print(sum1)

    练习,问,循环结束后,x的值和sum1的值,分别是多少
    x = 1
    sum1 = 0
    while x <= 5:
    x += 1
    sum1 += x

    x=6 sum1=20=2+3+4+...+6

    for循环和while循环的比较:
    for循环循环次数是有限的,并且是固定(确定); while循环的循环次数不确定
    for循环: 1.遍历序列中的值 2.循环次数确定
    while: 1.死循环 2.循环次数不确定

    练习: 找大于10000的数中,第一个能够被23整除的数
    """
    x = 10001
    10001 % 23 != 0 True x = 10002

    x = 10002
    10002 % 23 !=0 True x = 10003

    x = 10003
    10003 % 23 !=0 True x = 10004

    x = 10004
    10004 % 23 !=0 True x = 10005

    x = 10005
    10005 % 23 !=0 False 结束
    """
    x = 10001
    while x % 23 != 0:
    x += 1

    print(x)

    6.break和continue

    """
    break和continue放到循环体有特殊的功能

    break: 程序执行到break, 整个循环直接结束,然后执行循环外面的其他的语句
    continue: 循环体中遇到continue,结束当次循环,进入到下次循环的判断。

    for x in 序列:
    语句1
    语句2
    continue/break
    语句3

    其他语句

    while 条件:
    语句1
    语句2
    continue/break
    语句3

    其他语句

    """

    %

    相关文章

      网友评论

          本文标题:4总 循环和分之

          本文链接:https://www.haomeiwen.com/subject/uypmiftx.html