|
1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes=8bit ,2**8=256,可以代表256中变化,
% o& C0 A" x! @( K4 I3、简述 ascii、unicode、utf-8、gbk 的关系ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符, Unicode是为了统一世界各国语言的不用,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间, 可以用在内存处理中,兼容了utf-8,gbk,ASCII, utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的, gbk 是中文的字符编码,用2个字节代表一个字符, $ x/ ]) T+ R: p7 w& E2 ^: F. p
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数utf-8 是3 bytes=24bit gbk 是2bytes=16bit
2 \4 \$ d+ Q0 Y6 a. ]+ {+ r5、Pyhton 单行注释和多行注释分别用什么?单行注释 # 多行注释 """ """三个双引号或是三个单 引号把要解释的内容放中间, ‘’‘ ’’’
; h/ c8 r4 m$ H2 `7 _7 W! [6、声明变量注意事项有那些?万能避错规则,以小写字母开头命名,可以加上下划线,或者数字, 不能以Python的关键字命名, 能表明变量的意义 " L2 R. v% @4 X2 o8 r: G6 M, o% P
8、如何查看变量在内存中的地址?4 R' X- ?2 {+ X. @
z=1
1 N8 ~( _* M* O2 kprint(id(z))& p7 u0 m9 q$ Y9 j6 w; H# r# Y
9、执行 Python 程序时,自动生成的 .pyc 文件的作用是什么?.pyc 是编译py文件后的二进制文件,用于加速运行 9 U8 V( u) W7 ~- W
10、写代码1 d$ \, c/ c+ }7 ^, b) S
a.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!0 u9 d# Y! [! E0 O
name=input('name:').strip(), c) ^, R# L5 {$ I) Q
pwd=input('pwd:').strip()
9 M' e6 H, c5 o |/ Nif name=='seven' and pwd=='123' :
# @. e; P1 M; z. t, Y print('ok')
& c" S& k4 D9 z& K( H5 Eelse:4 t% x1 m5 P: g6 m
print('error')
9 J2 _, c9 U/ t6 |) y/ A* A2 |3 M3 U( \4 U. I
b.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while循环:
1 b- C+ I' K, d$ _6 S# scount=1, W- r& m3 H; G0 [
while count<=3 :
6 _ s2 v2 ~# Y) F name = input('name:').strip()
6 R0 _% a2 q0 M/ C6 x2 W pwd = input('pwd:').strip()! I; w, w: O, a# b3 L% `' S
9 v) X8 z. I9 x. U2 C if name=='seven' and pwd=='123' :
, ~, ^* X0 I O( d print('ok'), w- J/ k6 }" f+ L& Z
else:( a8 t4 x- S6 f
print('error')
. Z: T( J+ G* T/ X% q) H count += 13 Z. U9 H' D3 c" m4 I4 o
for循环:
9 V! c' s) C/ B* B* Tfor count in range(3) :4 T! _" g- k: Y5 {; M
name = input('name:').strip()
/ M& V7 ~ F! [6 v3 U pwd = input('pwd:').strip()
3 v" O. | J3 M$ J1 s9 R' x3 C' _# s% D1 `( K: n5 C
if name=='seven' and pwd=='123' :, y R3 T0 ?( t! D
print('ok')
0 x% P2 }+ N. r' u) ?" z" g! ?+ [3 Z1 C else:' `. w8 x; O8 N+ V) ^/ Y, k
print('error'). N8 E3 x* V5 k, A+ ?
count += 1c.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while 循环
' F. [. O {* X" _% jcount =11 j! k2 G5 Q+ }: A A; N
while count<=3 :
2 ^4 Q5 g2 D& D$ e, ~* A( j name = input('name: ')
7 N% N' K& J; b pwd = input('pwd: ')
Z- |- j; x! u& V. X if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':0 }- m' P- c0 Z3 q! z1 M
print('ok')
+ F* h4 ]4 H+ s+ p8 N# P: ^ else :
+ P5 R: q! E8 h print('error')5 j% B* I; W! l( U
count+=1/ ]+ E! |, V+ w# H
for循环
; m8 @$ @; D2 I. }' `- h; `for count in range(3) :
& [7 |2 Q8 @' b( Z7 H name = input('name: ')# w( _0 d6 n( m
pwd = input('pwd: ')
# ?9 P. Y: F2 l8 z v if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':4 }& ` r% e `
print('ok')0 l* S( d# w6 c. ^
else :
9 N: \1 A& z' B/ k+ R print('error')' t1 O2 ~4 R! z& a9 w; ^( ]
count+=111、写代码
% ~ `3 ?4 p1 N$ d$ oa. 使用while循环实现输出2-3+4-5+6...+100 的和: A3 P" \9 ~& n; g. U/ l
count=21 U9 P8 N, h; \" ^# M
num=0+ `4 B1 b. j5 Q/ k6 I9 H/ o; j0 B" B
while count<=100 :' t: y* q! C2 H% c3 s4 r8 c
if count % 2 ==0 :
- {5 }8 a! e/ B/ x1 f num=count+num6 X2 g( ?4 h' w+ H; _! Z d
count+=1
, |; G4 a* _# ^9 m else:4 L, K; ^+ B: |' Q2 Y
num=num-count B, z- C. z0 D+ A
count+=1: Z7 [/ f: L% g: s
print(num)8 o/ E# I. s" s) I
% a' `; ]& g: v+ q ub. 使用for循环和range实现输出 1-2+3-4+5-6...+99 的和
. X I5 o! |( \0 d5 P' b2 p num=0
( @+ k$ d5 ^' d/ Wcount=1
4 a; R# b# u5 Z* |! Y1 X1 Kfor count in range(100) :
: N: r1 l( E r! U. y3 k$ m2 \& x if count % 2 == 0 :2 ~/ G i; }3 l; f9 F2 |4 Q( U) g
num=num - count
1 h. g, D% w4 |4 T$ l else :
. a6 d- a8 V4 e- r& k; L num=num+count! o0 u5 e( I' @8 x. W, R
print(num) c. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
6 v$ O R' L( x, ]8 v' m& R4 }count=1
5 n: }" v( v/ [while count < 13 :
# ^% [) [# k7 B if count !=6 :
6 H" r: v( P2 L. _( r& W if count !=10 :
s I- W, Y$ L' M% f print(count)
9 b. j5 I1 D3 Q& d _, N8 W2 x, i# h( A2 o& a2 Y1 G7 d8 ~. I
count+=1d. 使用 while 循环实现输出 1-100 内的所有奇数" F$ g8 i1 f e
for i in range(101) :
# G7 y6 Z3 ^; N if i %2 != 0 :
: B3 N4 m; n! _; {, y1 G: F6 A' n8 d print(i)
/ D8 v/ k1 f3 |6 t, a* v, C+ K0 D* [8 o" {
count=0
7 |4 F R" d' f1 Qwhile count<100 :
- z9 C8 I& P6 V if count %2 != 0 :6 @: t/ K3 R4 B; O
print(count): m" R e" h: \. N
count += 19 X2 T6 v: G, E7 @
9 e( M8 ~; T5 R7 ~: b1 V9 z
e. 使用 while 循环实现输出 1-100 内的所有偶数4 P9 U4 n' L9 T, y2 z0 D1 d
for i in range(100) :/ B5 T6 u R9 `
if i %2 == 0:
3 Q2 A$ E- W+ Z3 V- j- |2 \ print(i)
`8 d7 ~- n5 V% q: \* v; ^% A9 ?" Z
count=05 t- X0 G! ?7 {$ B: a
while count<100 :
, `0 M+ F! K+ b6 k4 ]& E if count%2 == 0 :' s- m% n/ e1 Q7 H0 z$ e
print(count)9 W* w# R' q& r1 V3 {8 I3 D& C
count+=1
7 w2 W. i+ s, ~. [. D5 P1 U* I! I' f- N {7 M
12、分别书写数字 5,10,32,7 的二进制表示( ~/ x. ^+ M4 u
+ [2 b5 V4 a. t
print(bin(5))二进制 0b101
6 F" h4 r: d+ f" C9 L/ |) x. oprint(hex(10))十六进制 0x5
! s6 O1 `" h { n2 O4 R" A# kprint(oct(5)) 八进制 0o5% D& n K% O4 ? Y
14、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123 n2 = 123n1,n2是连个不同的变量名,但值都一样,都指向了同一个内存地址, 2 I- P% H1 W, M ]4 C
16、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123456 n2 = n1n2赋值给n1.指向同一个内存地址,' o6 Z: q/ ~4 H3 ?
17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5
! U- k# X. x5 O- Kprint(int.bit_length(n1)) 结果 3
3 t1 Y2 S) ?' R
' c, U ?! M9 M( H/ c2 X0 K. G18、布尔值分别有什么?False .Ture ,或1 和0
) l1 ~- o# J6 H6 ]' r& M20、写代码,有如下变量,请按照要求实现每个功能 name = " aleX"
% G4 ^% L- Y6 q' I; \a. 移除 name 变量对应的值两边的空格,并输入移除有的内容print(name.strip())9 h1 D0 e( y8 o! X8 y. t% z U
5 r- x+ e3 j* U+ B# cb. 判断 name 变量对应的值是否以 "al" 开头,并输出结果" c: A2 U5 x. _1 R) Q& @. L* f
print(name.startswith('al'))* e8 O& i. J, J* u
c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith('x'))
R, H, e/ M! r! E. `7 td. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
% k0 e( O. D& Z3 S% J2 B {/ l) Wprint(name.replace('l','p')) apex
8 e* H; s$ K/ u& m: c6 n1 v9 u; Y& V! We. 将 name 变量对应的值根据 “l” 分割,并输出结果。1 ^. @* b$ z8 x0 i9 N! u. q
print(name.split('e')) ['al', 'x '] 列表
$ A+ W8 h: B& J6 M6 K$ \2 |; |+ n" C7 C: B- l, c
g. 将 name 变量对应的值变大写,并输出结果print(name.upper()) print(name.lower())i. 请输出 name 变量对应的值的第 2 个字符?print(name[1])
9 f! ]( F1 Y0 W0 t- b: P& A3 K* b$ o8 u
j. 请输出 name 变量对应的值的前 3 个字符?print(name[:3])k. 请输出 name 变量对应的值的后 2 个字符? l. 请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index('e'))
# R6 \7 k5 q4 r. k- Z21、字符串是否可迭代?如可以请使用 for 循环每一个元素?
% p# g( q/ o8 n$ a9 X依赖索引
! H5 b( U% N1 c$ Jname = "Alex "
/ k" \9 C0 t" @- lfor i in range(len(name)) :( I( T) J8 x4 ]
print(name)
; R( `$ c$ `$ ^for i in name:
- e% V; U* P; _$ z! W print(i)22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']print('_'.join(['alex', 'eric', 'rain'])) alex_eric_rain
. b' w) s0 X( a8 a22、写代码,有如下列表,按照要求实现每一个功能 li = ['alex', 'eric', 'rain']li = ['alex', 'eric', 'rain']
1 |" j7 M5 r. W/ q) l$ Kprint(len(li))b. 列表中追加元素 “seven”,并输出添加后的列表li.append('seven') & y& G: A4 O; b; r8 m' {
print(li)3 x" P" g, ~. r, |. o" ^/ b+ }
['alex', 'eric', 'rain', 'seven']
5 e0 G/ I, ] Cc. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表li.insert(0,'TONY')
& j+ L/ j6 w' }8 Zprint(li)d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表li[1]=('killy')/ C9 _9 u* X; K1 J9 w y
print(li)
9 w4 U: \ ?$ \e. 请删除列表中的元素 “eric”,并输出修改后的列表li = ['alex', 'eric', 'rain']/ E; P) J8 c L( H' C2 N
li.pop(1)' \* m& h: _* a" M" b
print(li) ['alex', 'rain']% I7 X6 _! r9 ]! q( A
指名道姓的删除li = ['alex', 'eric', 'rain']/ _0 h" I5 F, J" r o
li.remove('alex')! U, G4 W% S$ k% v2 k# V' U
print(li)
# _7 T) ^! { d/ h" T ~2 cf. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表li = ['alex', 'eric', 'rain']
; E" _, [) |0 ^: Oprint(li.pop(1))1 b0 O) v, Z4 [
print(li)
8 A, |1 H4 _( g r& ]! T/ X+ l4 W8 d) o
eric
0 m. J- l5 M8 |+ e% c) S2 @3 O1 ?/ A['alex', 'rain']h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表li = ['alex', 'eric', 'rain']6 T) r3 N3 ~- {' s
del li[1:]* c; r4 W2 O# N0 L# m
print(li) k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始)( ^& ^% y1 ~! r( ]
li = ['alex', 'eric', 'rain']
& ]: h- A7 S) E+ S: ?6 Ifor k,v in enumerate(li,1):1 u$ [% t7 m4 E2 Z
print(k,v)23、写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]1 z. v0 K; b2 h7 K$ B# l; B
a. 请输出 “Kelly”: s6 x% T9 @/ m5 X
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]1 L) X$ J3 j' r, d b! c( W% D
print(li[2][1][1])8 A; |5 A" a: x, y" m5 u
b. 请使用索引找到 'all' 元素并将其修改为 “ALL”
/ j* ^9 k" c$ K2 c! d2 vli[2][2]='ALL'
" _' X- E& }: c/ W+ D1 |! wprint(li)' _, P6 G# h/ |3 ~
24、写代码,有如下元组,按照要求实现每一个功能 tu = ('alex', 'eric', 'rain')
( ~6 A; {# T, c4 za. 计算元组长度并输出tu = ('alex', 'eric', 'rain')6 ^3 w" M- w4 u
print(len(tu))
/ g: H- `+ |) F: hb. 获取元组的第 2 个元素,并输出
9 \" a* u: m* dprint(tu[1])
, _( ~& \$ C! C' Ie. 请使用 for、len、range 输出元组的索引( R( r3 b h. \$ h: ?, o
for i in range(len(tu)) :
; a% v& h3 G) p, @ print(tu.index(tu))f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)
6 ~! z# y( q0 V/ ?for k,v in enumerate(tu,10) :+ x( m4 L; ?1 M! z
print(k,v)
& a/ e' _' }# u1 j K ]* d7 b10 alex
% _% x. S; X8 [% a7 r% @11 eric: F5 ?+ v4 H4 n7 _% v S
12 rain3 y. g4 }6 g/ P9 P- J% n/ `5 G
* F2 K9 U8 L/ W3 w7 f
for k in enumerate(tu,10) :
! N$ l, R. n6 p6 ^- Y% q print(k)
6 V$ L. k. @4 e# L(10, 'alex')
* t. ?& D# B4 C(11, 'eric')+ L' |' q, E5 A, c l+ [: |/ Z( c" ~
(12, 'rain')
0 Q5 G! ]8 v* c$ f4 h1 L! z" O3 Z1 N& K) I1 o- i- g3 ?
# B. d+ ^) H: Q: B$ C25、有如下变量,请实现要求的功能0 L: z" s- M- z9 _- }0 w
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”元组,不可以
* d7 h' o4 T3 T0 d2 h4 {d. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”列表,可以
' F4 Y+ ]" {) A' vtu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])- L6 ^, C' S8 M7 ]7 `! u
res=tu[1][2]['k2'].append('seven')
8 U! T7 a; N4 r N( p4 z$ x' |6 o! W6 _# B& ^
print(tu)
4 I0 ? z, q6 _ p7 a8 p26、字典
" x/ y$ P9 Y# Q* Fdic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}for i in dic:
9 c# A' k8 B9 c1 K6 w print(i)b. 请循环输出所有的 value
% f0 Q' r3 H9 ?& P6 pfor i in dic:+ o# K& S6 y0 g; }* _( v0 a v
print(dic)# s4 M K6 V# v0 d: `
c. 请循环输出所有的 key 和 valuefor i in dic:& T8 [- T. G7 a R' @
print(i,dic)
7 l$ P- _4 E4 jd. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
; @8 f" ?2 c: e5 e! [* S6 Q2 bdic['k4']='v4'3 B+ t: Z0 _2 t. j- s1 D
print(dic)2 l9 ]7 G* u/ Y& J) `
e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典
* L1 c6 [7 b9 S6 F- ^8 f" `! R& Kdic['k1']='alex'
( _ s/ G8 l9 L+ o1 sprint(dic)f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典
& ^7 z) o8 @6 ?: A! vdic['k3'].append(44), e" f6 `& `. X X: M
print(dic)& q/ N% B) w, d* v
$ t' [/ W$ ]! A) L2 ^) i$ \
g. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典
; A5 |+ }( F$ Q& Edic['k3'].insert(0,44)
- e7 V# \" E* K& i' H9 eprint(dic)7 L+ ^. _( B% d: ]8 { S) L
27、转换
- Q- P9 p! E& [, V1 j$ Ga. 将字符串 s = "alex" 转换成列表 s = "alex"
1 k- ?. A0 g) s3 \4 y
! X' R4 D5 ^2 C: h$ nprint(list(s))b. 将字符串 s = "alex" 转换成元祖
/ I" A7 T6 j! Hs = "alex"
( @* s3 f5 K1 a! lprint(tuple(s))& W0 J+ P# I0 ]$ p6 x
) Y# c3 }# T8 X
b. 将列表 li = ["alex", "seven"] 转换成元组
& G8 L# r: q* i& T! Uli = ["alex", "seven"]
0 D6 c' p0 c6 t+ q( l# \print(tuple(li))c. 将元祖 tu = ('Alex', "seven") 转换成列表7 u' S; K! P1 I2 p( [9 X
tu = ('Alex', "seven")
4 h/ [$ {! i7 [4 q+ U1 hli=list(tu)% g0 S5 \ O9 X7 B
print(li)7 y. A7 e! Y, j
8 Q. ^7 N- A/ d. x# k0 H
$ R9 r2 l" ]; V- M v% |d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增$ F- X6 D" r4 J t+ Q, ? J
+ T+ E* z9 G$ _5 [ l" ~4 E+ l* y+ Pdic={}) C, j; x# x9 l. y2 n. @! D' I
for k,v in enumerate(li,10) :----li要放在前面,序号放在后面
. m2 I2 m Z3 R' Y5 T# C dic[k]=v
, O( l5 n& U* c1 f1 \ print(dic)27、转码n = "老男孩": d2 S, _3 S! i+ p' S( P
a. 将字符串转换成 utf-8 编码的字节,并输出,然后将该字节再转换成 utf-8 编码字符串,再输出n = "老男孩"
+ a& I4 o+ Z7 d0 o: b0 S2 ma=n.encode('utf-8')
$ Q. M, F& P1 M/ yprint(a)
- H5 M6 B/ _) bb=a.decode('utf-8')
+ s) q! n( O% h* Qprint(b)
3 _, k" ^: t3 D, p' P- ^b. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出a=n.encode('gbk')0 o9 C2 a8 y6 h8 l8 |' ^& s
print(a)
5 w% N5 w) r) R! p. N6 b2 a: |# J0 jb=a.decode('gbk')
% B" u! \/ N0 q% b% B+ L$ yprint(b)28、求 1-100 内的所有数的和
4 Y) e9 ~ O1 G# n: f- V( ^8 lcount=1
, q8 Y9 Z4 V. K' D U3 V1 qsum=0
4 W( A8 ~9 U6 x; Y6 h* _" O6 tfor i in range(100) :
; Z1 l# z% i* P/ y) W$ S sum=sum+count
' p( F. D! t1 v( Q+ q! l A6 k# `. D count+=1
! z) w9 j' V% b; y5 [print(sum)
# Q3 n! }- L2 N* y
' N" T! E# f: y: fcount=1/ p* d7 _% o- B% [3 {4 K
sum=0
2 ^& Z6 T0 q D3 l ^; ~. d) dwhile count<=100 :
' j, }8 X7 Z8 N6 _+ B sum+=count- A- P q6 u2 B# o2 Y: i
count+=1
) a5 a) i9 J, ]! lprint(sum)29、元素分类7 L5 j' r* W# G' M, K4 ?
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,
& a) V! o" v! p; C9 Y/ n3 C将小于 66 的值保存至第二个 key 的值中。
7 L; i8 e6 J& c" P即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}# R8 m1 V1 |- @6 H
li=[11,22,33,44,55,66,77,88,99,90]
) j$ |. d, e9 A0 [5 _dic1={
/ g) ^( c% Q- X# Z& S3 l 'max':[],1 v7 }# O; i' R
'min':[]2 J) I/ k) d% w0 y, y3 J
}4 }) t* L( A0 A" q T
for i in li :
5 a7 u* |+ p* C- S if i <66 :
~$ d9 a9 F0 p$ y dic1['min'].append(i)
) I5 M" Q: Y: O else:$ \1 S+ }" a3 U4 a! i, x' L0 ^5 X
dic1['max'].append(i)/ j- ?7 |& @7 V5 W9 @" {( C7 G
print(dic1)0 \, X7 \* F* J+ Y
! a% r6 i2 L9 z* v7 Y/ o! g1 j5 c
---{'max': [66, 77, 88, 99, 90], 'min': [11, 22, 33, 44, 55]}
O6 l& E- ]- H2 p4 C3 u |