Python基础(二)

一.while循环

while 循环 在生活中,我们遇到过循环的事情吧?比如循环听歌。在程序中,也是存才的,这就是流程控制语句 while

1.基本循环

while 条件:
    # 循环体
    # 如果条件为真,那么循环则执行
    # 如果条件为假,那么循环不执行

我们可以使用while循环进行内容循环,我们怎么能够让程序停止运行?

死循环是因为条件一直都为真的时候,如果想让while循环停止最简单的方式就是将条件修改成假的,看下面示例

flage = True
str_num = input("请输入要比较的数字:")
print("进入循环")
while flage:
  if "3" > str_num:
    print("在执行循环")
  else:
    print("要终止循环")
    flage = False
print("退出循环")

我们现在知道可以通过变量的形式改变while循环,我们还可以通过计数的方式来控制循环执行循环的次数

2.使用while计数

count = 0
while True:
    count = count + 1
    print(count)

这样下去就会一直执行下去,但是我想到100就停了

3.控制while循环的次数

count = 0
while count < 100:
    count = count + 1
    print(count)

while 后边的条件是关键,这样就可以通过条件成功的控制住循环的次数,我们现在知道通过修改while后边的内容来终止循环,这是咱们自己想的办法,python这个编程语言中是不是应该也得有个终止循环的关键字什么的吧,我们来找一下试试

4.break关键字

我们除了可以使用条件能够让循环停止,其实Python还给我们提供了一个break关键字来停止循环

num = 1
while num <6:
    print(num)
    num+=1
    break
    print("end")

当程序执行到break的时候就结束了.break就是结束当前这个while循环的 break以下的代码都不执行

5.continue关键字

continue:退出当前循环,开始下次循环

num = 1
while num <6:
    print(num)
    num+=1
    continue
    print("end")

注意:break是终止循环,continue是跳出本次循环,继续下次循环

6.while else使用

num=1
while num < 10:
    print(num)
    num+=1
    #break
else:
    print("else只有在while循环没有被break打断并且循环出现false的情况下才生效")
练习:
0.退出
1.开始登录
如果用户选择序号0 就提示用户退出成功
如果用户选择序号1就让用户输入用户名密码然后进行判断,正确就终止循环,错误重新输入
f = True
while f:
    msg = """
        0.退出成功
        1.开始登录
    """
    print(msg)
    chose = int(input("请选择:"))
    if chose == 0:
        print("退出成功")
        break
    elif chose == 1:
        print("开始登录")
    else:
        print("输入错误,请重新输入")
        continue
    while True:
        username = input("请输入用户名:")
        if username == "阮书鑫":
            break
        else:
            print("请重新输入:")
    f = False

二.格式化输出

现在需要我们录入信息,格式如下:

info='''
------------ info of RUAN    ----------
             Name  : RuanShuXin
             Age   : 18
             job   : Development Engineer
             Hobbie: Ballad
------------------ end ----------------
'''

我们现在能想到的办法就是用一下方法:

name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入职业:')
hobby = input('请输入爱好:')
a = '------------ info of RUAN ---------'
b = 'Name:'
c = 'Age:'
d = 'Job:'
e = 'Hobby:'
f = '------------- end ----------------'
print(a+'\n'+b+name+'\n'+c+age+'\n'+d+job+'\n'+e+hobby+'\n'+f)
# 运行结果
------------ info of RUAN --------
Name:rsx
Age:18
Job:Development Engineer
Hobby:Ballad
------------- end ----------------

这样写完全没有问题,但是比较繁琐

1. %s — 字符串类型

方法1:

info='''
------------ info of RUAN    ----------
             Name  : %s
             Age   : %s
             job   : %s
             Hobbie: %s
------------------ end ----------------
'''%('RuanShuXin',18,'Development Engineer','Ballad')
print(info)

方法2:

info='''
------------ info of RUAN    ----------
             Name  : %s
             Age   : %s
             job   : %s
             Hobbie: %s
------------------ end ----------------
'''
print(info%('RuanShuXin',18,'Development Engineer','Ballad'))

% 是一个占位, s代码表示字符串类型

2.%d|%i — 数字类型

num = input('>>>')
s1 = '1234%d'%int(num)
s2 = '1234%i'%int(num)
print(s1)
print(s2)

3. %% — 转义

%% 输出一个单一的%

num = input('>>>')
s= '目前学习进度:%s%%'%num
print(s)

三. 常用运算符

运算符

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算.

今天我们暂只学习 算数运算、比较运算、逻辑运算、赋值运算、成员运算

1. 算数运算

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

算术运算

2. 比较运算

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

比较运算

3. 赋值运算

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

赋值运算

4. 逻辑运算

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

逻辑运算

针对逻辑运算的进一步研究:

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

例题:

判断下列逻辑语句的True,False。
x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
# print(3 and 4)
# print(0 and 4)
# print(0 and False)
# and 都为真的时候取and后边的值
# and 都为假的时候取and前面的值
# and 一真一假取假的
# print(3 and 5 and 9 and 0 and False)
# print(5 and False and 9 and 0)
# print(1 and 2 and 5 a nd 9 and 6)
# print(1 or 0)
# print(1 or 2)
# print(0 or False)
# or 都为真的时候取or前边的值
# or 都为假的时候取or后面的值
# or 一真一假取真的
# print(1 or 9 or 4 or 0 or 9)
# print(not False)
# () > not > and > or
# 从左向右执行
# print(9 and 1 or not False and 8 or 0 and 7 and False)

5. 成员运算

in not in :

判断子元素是否在原字符串(字典,列表,集合)中:

例如:

print('喜欢' in 'dkfljadklf喜欢hfjdkas')
print('a' in 'bcvd')
print('y' not in 'ofkjdslaf')

四. 编码

1. ASCII

计算机:
    储存文件,或者是传输文件,实际上是010101010
    计算机创建初期,美国,是7位一段,但是发明者说为了拓展,留出一位,这样就是8位一段句。8位有多少种可能 ?256
    密码本:
    ascii
         00000001
         01000001 01000010 01000011   ABC

随着计算机的发展. 以及普及率的提高. 流⾏到欧洲和亚洲. 这时ASCII码就不合适了. 比如: 中⽂汉字有几万个. 而ASCII 多也就256个位置. 所以ASCII不行了. 怎么办呢? 这时, 不同的国家就提出了不同的编码用来适用于各自的语言环境. 比如, 中国的GBK, GB2312, BIG5, ISO-8859-1等等. 这时各个国家都可以使用计算机了.

2. GBK

GBK, 国标码占用2个字节. 对应ASCII码 GBK直接兼容. 因为计算机底层是用英文写的. 你不支持英文肯定不行. 而英文已经使用了ASCII码. 所以GBK要兼容ASCII. 这里GBK国标码. 前⾯的ASCII码部分. 由于使⽤两个字节. 所以对于ASCII码⽽言. 前9位都是0

字母A:0100 0001 # ASCII
字母A:0000 0000 0100 0001 # 国标码
    
    8 位 == 1个字节.
hello h一个字符,e一个字符,he就不是一个字符.
中国:中是一个字符,国是一个字符.

3. Unicode

创建之初,16位,2个字节,表示一个字符.  英文: a b c 六个字节 一个英文2个字节  中文 中国 四个字节 一个中文用2个字节
 但是这种也不行,这种最多有65535种可能,可是中国文字有9万多,所以改成 32位,4个字节,表示一个字符.
 a 01000001 01000010 01000011 00000001  b 01000001 01000010 01100011 00000001  中 01001001 01000010 01100011 00000001  浪费资源.

4. UTF-8

对Unicode进行升级: utf-8 utf-8 用最少用8位数,去表示一个字符. 英文: 8位,1个字节表示. 欧洲文字: 16位,两个字节表示一个字符. 中文,亚洲文字: 24位,三个字节表示.
utf-16 用最少用16位数。
gbk: 国标,只能中国人自己用, 一个中文用16位,两个字节表示。

5. 单位转化

8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024TB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
常⽤到TB就够了

你或许想:《去原作者写文章的地方

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论