class 4

赋值语句

基本

x,y,z,a,b,c=1,2,3,4,5,6
x
1
a=b=c='infi'
a
'infi'
b
'infi'
c
'infi'

序列赋值

a,b,c='htk'
a
'h'
a,b,c='bababab'
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: too many values to unpack (expected 3)
s='jdfiuehfiwef'
a,b,c=s[0],s[1:3],s[3:]
b
'df'
c
'iuehfiwef'

扩展序列解包赋值(*是形成一个列表)

a,b,*c='inkjfnkjna'
a
'i'
c
['k', 'j', 'f', 'n', 'k', 'j', 'n', 'a']
a,*b,c='fjnfjan'
b
['j', 'n', 'f', 'j', 'a']
a
'f'
type(b)
<class 'list'>
b=''.join(b)
b
'jnfja'
a,b,c,d='aif'
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: not enough values to unpack (expected 4, got 3)
a,b,c,*d="nfi"
c
'i'
d
[]

多目标赋值

a=b=[]
a.append(3)
a
[3]
b
[3]
a,b=[],[]
a.append(3)
a
[3]
b
[]

参数化赋值


```python
x,y=1,2
x=x+y
x
3
y+=x
y
5
l=[1,2,3]
l+=[4,5,6]
l
[1, 2, 3, 4, 5, 6]
l.extend([7,8,9])
l
[1, 2, 3, 4, 5, 6, 7, 8, 9]

表达式

在这里插入图片描述

l1='ani'
l2='anifna'
l3='nafain'
print(l1,l2,l3)
ani anifna nafain
print(l1,l2,l3,sep="|")
ani|anifna|nafain
print(l1,l2,l3,end="...\n")
ani anifna nafain...
print(l1,l2,l3,sep="|",end='...\n')
ani|anifna|nafain...

流程控制

if 语句

基本

score=75
if score==100:
    print('满分')
elif score>=90:
    print('优秀')
elif score>=60:
    print('及格')
else:
    print('不及格')
    
及格

多重分支

并没有懂…

三元运算符

score=75
result='及格'if score>=60 else'不及格'
print(result)
及格

while 语句

while语句就是循环一直到false
对于列表来说l=[]就是false,对于int来说,0就是false。

字符串:

x='wafoifao'
print(x,end='|')
x=x[1:]
wafoifao|>>> 

x='wafoifao'
while x:
    print(x,end='|')
    x=x[1:]
    
wafoifao|afoifao|foifao|oifao|ifao|fao|ao|o|

数值:

x=10
while x:
    x -= 1
    if x %2 !=0:
        continue
    print(x,end='|')
    
8|6|4|2|0|
x=10
x -= 1
if x %2 !=0:
    print(x,end='|')
    
9|
  • 这个没懂的:
while True:
    name = input('write down your name please')
    age = input('write down your age please')
    if name == 'stop':
        break
    print('hello,{},your age is{},welcome.'.format(name,age))
    
  File "<input>", line 11
    while True:
        ^
SyntaxError: invalid syntax

for 语句

for x in range(1,5):
    if x == 6:
        print('yes',x)
        break
else:
    print('no')
    
no

列表:

sum = 0
for x in [1,2,3,4,5]:
    sum += x
print(sum)
15

字典表:

d = {'a':1,'b':2,'c':3}
for x in d:
    print('{}-{}'.format(x,d.get(x)))
    
a-1
b-2
c-3

错误示范:

d = {'a':1,'b':2,'c':3}
print('{}-{}'.format(d.keys(),d.values()))
dict_keys(['a', 'b', 'c'])-dict_values([1, 2, 3])

找到两个字符串中重叠部分

字符

s1 = 'fiaufojawofjlkwafm'
s2 = 'ajnwajknfwnekfjawfkwale'
for x in s1:
    if x in s2:
        print(x,end = '|"')
        
f|"a|"f|"j|"a|"w|"f|"j|"l|"k|"w|"a|"f|"

若想输出为列表
方法一:

s1 = 'fiaufojawofjlkwafm'
s2 = 'ajnwajknfwnekfjawfkwale'
result = []
for x in s1:
    if x in s2:
        result.append(x)
        
print(result)
['f', 'a', 'f', 'j', 'a', 'w', 'f', 'j', 'l', 'k', 'w', 'a', 'f']

方法二:

s1 = 'fiaufojawofjlkwafm'
s2 = 'ajnwajknfwnekfjawfkwale'
l = [x for x in s1 if x in s2]
print(l)
['f', 'a', 'f', 'j', 'a', 'w', 'f', 'j', 'l', 'k', 'w', 'a', 'f']

range的使用:

for x in range(0,100,2):
    print(x,end=' ')
    
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 

enumerate 的使用:

s = 'nfjanofa'
for x,y in enumerate(s):
    print('{}.{}'.format(x +1,y),end=' ')
    
1.n 2.f 3.j 4.a 5.n 6.o 7.f 8.a 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值