day03_python基础

一些会的内容就不做笔记了,做一些有点生疏的笔记

1. 循环语句

continue,在循环中用于 结束本次循环,开始下一次循环。

示例1:

print("开始")
while True:
    print("红旗飘飘,军号响。")
    continue
    print("剑已出鞘,雷鸣电闪。")
    print("从来都是狭路相逢勇者胜。")
print("结束")

开始
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
...

示例2:

print("开始")
i = 1
while i < 101:
    if i == 7:
        i = i + 1
        continue
    print(i)
    i = i + 1
print("结束")

开始
1
2
3
4
5
6
8
9
10
...

100
结束

示例3:

print("开始")
i = 1
while True:
    if i == 7:
        i = i + 1
        continue
    print(i)
    i = i + 1
    if i == 101:
        break
print("结束")

开始
1
2
3
4
5
6
8
9
10
...

100
结束

写在最后,对于 breakcontinue都是放在循环语句中用于控制循环过程的,一旦遇到 break&#x505C;&#x6B62;所有循环,一旦遇到 continue就停止本次循环, &#x5F00;&#x59CB;&#x4E0B;&#x6B21;&#x5FAA;&#x73AF;

当然,通过如果没有了 break&#x548C;continue,我们用while条件的判断以及其他协助也能完成很多功能,有了break和continue可以在一定程度上简化我们的代码逻辑。

当while后的条件不成立时,else中的代码就会执行。如果遇到break,则不会进入else


while 条件:
  代码
  ...

else:
  代码
while False:
    print('哈哈哈')
else:
    print('else')

n = 1
while n < 3:
    print(n)
    n += 1
else:
    print(666)

1
2
666

有人会问,为什么不直接在 while结束后直接写上 print(666)

n = 1
while n < 3:
    print(n)
    n += 1
print(666)

如果 while循环中有 break来终止循环,则会 &#x76F4;&#x63A5;&#x9000;&#x51FA;&#x5FAA;&#x73AF;,并且不会进入到 else

n = 1
while n < 3:
    print(n)
    break
else:
    print(666)

2. 字符串格式化

字符串 &#x683C;&#x5F0F;&#x5316;,使用更便捷的形式来实现字符串的拼接

name = '王不易'

text = '我叫%s, 今年18岁' % '王不易'

text1 = '我叫%s, 今年18岁' % name
print(text)
print(text1)

多个占位符要用括号括起来(根据位置进行 &#x4E00;&#x4E00;&#x5BF9;&#x5E94;

name = '王不易'
age = 18

text = '我叫%s, 今年%s岁' % (name, age)
print(text)

text1 = '我叫%s, 今年%d岁' % (name, age)

下面是关于所有%的内容,不要求记住,不会的时候,点进去看一下就好了

下面根据 &#x540D;&#x79F0;对占位符进行一一对应


name = '王不易'
text1 = '%(name)s你快过来呀,今天桂千理不在家' % {'name':name}
print(text1)

name1 = '桂千理'
text2 = '%(name)s你快过来呀,今天%(name1)s不在家' % {'name': name, 'name1': name1}
print(text2)

如果在 &#x4E00;&#x6BB5;&#x5B57;&#x7B26;&#x4E32;中有 &#x767E;&#x5206;&#x53F7;存在,则需要写 &#x4E24;&#x4E2A;&#x767E;&#x5206;&#x53F7;,在字符串格式化的时候就知道这个不是占位符,只是普通的%,不写会报错

name = '王不易'
s = '%s,我的片以及下载了90%了,居然断网了' % s
print(s)

s = '%s,我的片以及下载了90%%了,居然断网了' % s
print(s)

总结:一旦字符串格式化中存在百分比的显示,请一定要加%%以实现输出%。

name = '王不易'
age = 18

text = '我叫{},今年18岁'.format(name)
print(text)

text = '我叫{},今年{}岁'.format(name, age)
print(text)

text = '我叫{},今年{}岁,真实的名字也叫{}'.format(name, age, name)
print(text)
name = '王不易'
age = 18

text = '我叫{0},今年18岁'.format(name)
print(text)

text = '我叫{0},今年{1}岁'.format(name, age)
print(text)

text = '我叫{0},今年{1}岁,真实的名字也叫{0}'.format(name, age)
print(text)

name = '王不易'
age = 18
text = '我叫{n1},今年18岁'.format(n1=name)
print(text)

text = '我叫{n1},今年{n2}岁'.format(n1=name, n2=age)
print(text)

text = '我叫{0},今年{1}岁'

data1 = text.format('王不易', 18)
data2 = text.format('桂千理', 20)
print(data1)
print(data2)

text = '我叫%s, 今年%d岁'
data1 = text %('王不易', 18)
data2 = text %('桂千理', 20)
print(data1)
print(data2)

比前两种方便


name = '王不易'
age = 18
text = f'我叫{name},今年{age}岁'
print(text)

text = f'我叫{name},今年{2+16}岁'
print(text)

text = f'我叫{name},今年{2+16=}岁'
print(text)

v1 = f'嫂子今年{22}岁'
print(v1)

v2 = f'嫂子今年{22: #b}岁'
print(v2)

v3 = f'嫂子今年{22: #o}岁'
print(v3)

v4 = f'嫂子今年{22: #x}岁'
print(v4)

name = 'amaisi'
text = f'我叫{name},今年18岁。'
print(text)

text = f'我叫{name.upper()},今年18岁。'
print(text)

3. 运算符

逻辑运算中: and or

name = 'alex'
pwd = '123'
v1 = name == 'alex' and pwd == '123'
print(v1)

name = 'alex'
pwd = '3'
v1 = name == 'alex' and pwd == '123'
print(v1)

if name == 'alex' and pwd == '123'

v2 = 'wmj' and 'gql'

print(v2)

'''
解:
    第一步: 将and前后的值转换为布尔值 -> True and True
    第二步: 判断本次操作取决于谁? 如果前面是False,则无需看后一个值,由于前面是True,需要去查看后面的值是什么,所以本次逻辑判断取决于后面的值。
    所以,后面的值等于多少,最终的结果就是多少。 所以v2 = 'gql'
'''

v3 = '' and 'wby'

print(v3)

v4 = 1 or 8

print(v4)

v5 = 0 or 8

print(v5)
v1 = 1 or 2
v2 = -1 or 3
v3 = 0 or -1
v4 = 0 or 100
v5 = "" or 10
v6 = "wupeiqi" or ""
v7 = 0 or ""

print(v1,v2,v3,v4,v5,v6,v7)

v1 = 4 and 8
v2 = 0 and 6
v3 = -1 and 88
v4 = "" and 7
v5 = "武沛齐" and ""
v6 = "" and 0
v7 = 0 and "中国"

print(v1,v2,v3,v4,v5,v6,v7)

思路: 如果多个and和or的情况,则先计算and再计算or

v1 = 0 or 4 and 3 or 7 or 9 and 6
    解:   0 or 3 or 7 or 9 and 6
     0 or 3 or 7 or 6
     3 or 7 or 6
     3 or 6
     3
v2 = 8 or 3 and 4 or 2 and 0 or 9 and 7
         8 or 4 or 2 and 0 or 9 and 7
     8 or 4 or 0 or 9 and 7
     8 or 4 or 0 or 7
     8 or 0 or 7
     8 or 7
     8
v3 = 0 or 2 and 3 and 4 or 6 and 0 or 3
         0 or 3 and 4 or 6 and 0 or 3
         0 or 4 or 6 and 0 or 3
     0 or 4 or 0 or 3
     4 or 0 or 3
     4 or 3
     4

补充: 既有not,又有and,还有 or

思路: 先计算not,再计算and,最后计算or

v4 = not 8 or 3 and 4 or 2
         False or 3 and 4 or 2
     3 and 4 or 2
     4 or 2
     4

今日练习

先判断(大于、小于),再判断(not 、and 、or)

print('来猜猜我的年龄吧~~~~')
times = 3
age = 18
while True:
    number = input('请大胆输入我的年龄: ')
    number = int(number)
    if number == age:
        print('恭喜你,答对了!!!')
        break
    times -= 1
    if times == 0:
        print('你的次数已用完,你太让我失望了')
        n = input('再给你一次机会,你还玩不玩,回答Y,就再给你猜三次,回答N,就拜拜 : ')
        if n == 'Y':
            times = 3
        else:
            break
    print(f'不对不对,还有{times}次机会')

Original: https://blog.csdn.net/m0_48936146/article/details/127820381
Author: 爬虫选手_不懂就问
Title: day03_python基础

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/658242/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球