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:终止及跳出整个循环

 

  

posted @ 2018-03-19 17:39  戏院小二胡  阅读(230)  评论(0编辑  收藏  举报