• Python基础二


    一、While循环延伸

    与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句(如果循环被break打断,程序不会走else)

     

    count = 1
    while True:
        print(count)
        if count == 3:
           break
        count += 1
    else:
        print('循环正常完毕')

    # 输出结果 1 2 3
    count = 1
    flag = True
    while flag:
        print(count)
        if count == 3:
            flag = False
        count += 1
    else:
        print('循环正常完毕')
    
    # 结果
    1
    2
    3
    循环正常完毕

    二、格式化输出

    1、第一种

    name = input('请输入你的名字:')
    age = input('请输入你的年龄:')
    hobby = input('请输入你爱好:')
    msg = '我叫%s,今年%d岁,爱好是%s' % (name, int(age), hobby)
    print(msg)
    
    
    # 输出
    请输入你的名字:alex
    请输入你的年龄:25
    请输入你爱好:女人
    我叫alex,今年25岁,爱好是女人

    %s就是代表字符串占位符,除此之外,还有%d,是数字占位符,就代表你必须只能输入数字啦

    2、第二种

    dic = {'name': 'alex', 'age': 25, 'hobby': '女人'}
    msg = '我叫%(name)s,今年%(age)d岁,爱好是%(hobby)s' % dic
    print(msg)
    
    # 输出
    
    我叫alex,今年25岁,爱好是女人

    另附:在格式化输出中单纯的显示%  ,用%% 解决。

    三、基本运算符

    1、算术运算

    以下假设变量:a=10,b=20

    2、比较运算

    以下假设变量:a=10,b=20

    3、赋值运算

    4、逻辑运算

    在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

        x or y , x为真,值是x,x为假,值是y;

                  x and y, x为真,值是y, x为假,值是x。

    数据类型转换:

          int ---> bool 非0即True,0为False

          bool---> int True 为1 ,False为 0

          print(int(True))

          print(int(False))

          print(bool(100))

          print(bool(0))

    in 和 not in

    s = '老男孩alexwusir'
    print('老男孩' in s)
    print('老男孩wusir' in s)
    print('老男' in s)
    print('老男' not in s)

    四、计算机编码

    8 bit = 1 byte

    1 kb = 1024 byte

    1 MB = 1024 KB

    1 GB = 1024 MB

    1 TB = 1024 GB

    1、ASCII

    包含数字,字母,特殊字符,最多8位(bit)表示一个字节(byte),最多表示2**8 = 256 个符号

    2、Unicode(万国码)

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定已有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,后来升级为32位来表示。浪费资源。

    3、UTF-8

    UTF-8,是对Unicode编码的压缩和优化:

        英文:用8位表示一个字符。

        欧洲: 16位两个字节表示一个字符。

        亚洲 中 :24位,三个字节表示一个字符。

    gbk:国标
        只包含:英文中文。
        英文: 8位,一个字节表示一个字符。
        中文: 16位,两个字节表示一个字符。

    五、课后作业

    1、判断下列逻辑语句的True,False.

      1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6       

        True

      2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

        False

    2、求出下列逻辑语句的值。

      1), 8 or 3 and 4 or 2 and 0 or 9 and 7

        8

      2), 0 or 2 and 3 and 4 or 6 and 0 or 3

        4

    3、下列结果是什么?

      1)、6 or 2 > 1    6

      2)、3 or 2 > 1    3

      3)、0 or 5 < 4    False

      4)、5 < 4 or 3    3

      5)、2 > 1 or 6    True

      6)、3 and 2 > 1    True

      7)、0 and 3 > 1    0

      8)、2 > 1 and 3    3

      9)、3 > 1 and 0    0

      10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2    2

    4. 简述变量命名规范

      1)、只能由数字、字母、下划线任意组合构成

      2)、不能以数字开头

      3)、不能是Python里的关键字

      4)、名字不能太长,要有描述性

      5)、此模式:old_boy_school

    5. name = input(“>>>”) name变量是什么数据类型?

      str

    6. if条件语句的基本结构?

      if 条件:                    if 条件:                               if 条件:         if 条件:          if 条件:

        结果                          结果                        结果         结果           if 条件:

                                          else:                                  elif 条件:         elif 条件:              结果

                  结果            结果         结果           else:

                             .........          else:                  结果

                                        结果        else:

                                                    结果

    7. while循环语句基本结构?

      while 条件:          while 条件: 

        结果              结果

                     else:

                        结果

    8. 写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?

    count = 0
    sum1 = 0
    while count < 99:
        count += 1
        if count % 2 == 1:
            sum1 += count
        elif count == 88:
            continue
        else:
            sum1 -= count
    print(sum1)

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

    count = 2
    while count >= 0:
        username = input('请输入用户名:')
        password = input('请输入密码:')
        if username == 'xiaoming' and password == '123':
            print('登陆成功')
            break
        else:
            if count == 0:
                print('用户名或密码错误')
                break
            else:
                print('用户名或密码错误,还有%d次机会...' % count)
                count -= 1

    10. 简述ascii、unicode、utf-8编码关系?

      ASCII:只包含数字、字母、特殊字符,8 bit 表示一个字节,表示一个字符

      Unicode:16位的是两个字节表示一个字符;32位的是四个字节表示一个字符

      utf-8:一个字节表示一个ASCII

            两个字节表示一个欧洲字符

         三个字节表示一个亚洲字符

    11. 简述位和字节的关系?

      8 bit = 1 byte

    12. “老男孩”使用UTF-8编码占几个个字节?使用GBK编码占几个字节?

      9,6

    13. 制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实 如:敬爱可亲的xxx,最喜欢在xxx地方干xxx

    name = input('请输入名字:')
    place = input('请输入地点:')
    hobby = input('请输入爱好:')
    msg = ('敬爱可亲的%s,最喜欢在%s%s' % (name, place, hobby))
    print(msg)

    14. 等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:“小粉嫩”、“大铁锤”

    while True:
    word = input('请输入内容:')
    if '小粉嫩' in word or '大铁锤' in word:
    print('存在敏感字符,请重新输入')
    else:
    print(word)
    break

    15. 单行注释以及多行注释?

      单行注释用  #

      多行注释用  ''' ''' 或""" """

    16. 简述你所知道的Python3和Python2的区别?

      1)、python2源码混乱、重复性多,3源码简洁优美

      2)、2用raw_input() ,3用input()

      3)、2print可以不用(),直接空格加引号,3必须加()

    17. 看代码书写结果:

      a = 1>2 or 4<7 and 8 == 8

      print(a)

      结果:True

    18.continue和break区别?

      continue:跳出本次循环,进入下一次循环

      break:终止及跳出整个循环

      

  • 相关阅读:
    OC内存管理
    摘要算法
    加密算法
    编码技术
    Golang遇到的一些问题总结
    SignalR
    uni-app 小程序 vue
    C# 调用 C++ dll的两种方式
    Vue 项目 VSCode 调试
    Navicat 导出 表结构
  • 原文地址:https://www.cnblogs.com/hp491604738/p/8603575.html
Copyright © 2020-2023  润新知