赋值语句
基本
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