|
1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes=8bit ,2**8=256,可以代表256中变化, % F" I8 L: g& d2 i+ I
3、简述 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个字节代表一个字符,
. L8 _9 ~5 {3 r1 E, a; {8 u) L4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数utf-8 是3 bytes=24bit gbk 是2bytes=16bit ( z$ A- V/ V: ]3 M3 p* r: }% ?
5、Pyhton 单行注释和多行注释分别用什么?单行注释 # 多行注释 """ """三个双引号或是三个单 引号把要解释的内容放中间, ‘’‘ ’’’ - J8 j# J x7 z V; L# e
6、声明变量注意事项有那些?万能避错规则,以小写字母开头命名,可以加上下划线,或者数字, 不能以Python的关键字命名, 能表明变量的意义 7 e; X7 X1 g; [* K
8、如何查看变量在内存中的地址?
6 f* M9 W! T( }! S: A. Cz=1
+ x7 G3 ~# W1 v' eprint(id(z))
* k, ]) m1 j' i% d, W9、执行 Python 程序时,自动生成的 .pyc 文件的作用是什么?.pyc 是编译py文件后的二进制文件,用于加速运行
* _; }- A( Z# B0 N& c. H# O# Z5 Z) c10、写代码
& k/ u2 V6 ` e& J# V& O8 Wa.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!* K6 v& l$ ^9 \. T2 [
name=input('name:').strip()8 K6 I# s2 E) m i! s0 H, w
pwd=input('pwd:').strip()
4 m3 ]9 D! X5 n2 S: Qif name=='seven' and pwd=='123' :
0 h+ M& v t- ?, H print('ok')
/ h' f* e0 F3 V& l0 M% Y5 Zelse:
; J) _$ c; t9 T) G% r, k3 S print('error')' W' t# c4 C2 p' Q2 w8 L. d
: r% Y) ^7 k, C9 j
b.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while循环:+ w1 y: ~& \/ _0 F7 M" _ X
count=1
0 [* q: _, F* [while count<=3 :
. V+ C. b* r- e) r1 C name = input('name:').strip()
3 Y- E" a3 c0 H( h! i5 c0 S pwd = input('pwd:').strip()
$ z7 }4 C" e" f* @
k" p' {/ P5 y8 G1 Y if name=='seven' and pwd=='123' :. w% n& e7 `6 @9 }7 `
print('ok')4 H/ L9 D( J# b7 A
else:( V7 {( e8 O) u$ X
print('error')) G/ h1 G- S8 ^3 F/ H6 e
count += 1
% \; S( T* M- |4 L7 Rfor循环:( M. U" Z" E6 X& G# x
for count in range(3) :& m+ L/ I- ^" N5 k
name = input('name:').strip()
! Z0 ~; y: B6 M2 _% P6 `- i$ V pwd = input('pwd:').strip()& Y( w o& W- g
. V! S& \7 y" c: \/ E if name=='seven' and pwd=='123' :% n1 H; Z3 j( e0 F' r
print('ok')
/ \3 b1 B8 u0 s6 X* e6 X else: f9 j6 e o9 _5 K* \# X
print('error')
3 O7 T, T9 R; f$ A! {: q2 L. { count += 1c.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while 循环1 E. s7 F- N# f$ Q# U+ M
count =1- J4 Q4 V8 z M/ Q1 d
while count<=3 :. x1 K/ O; }4 @: p
name = input('name: ')
% m( u& \' e* i" O pwd = input('pwd: ') h0 F# U& e2 U. ^2 K
if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':
8 H j: ]0 L6 v- B$ V print('ok')
4 a( P) ?$ A) G4 |5 W& V! W else :# O- Z: f: w* }2 M, d# {2 D
print('error')
$ C7 E! z3 Y; }0 b6 v$ Q( |8 Q' p! ? count+=1" h# Q' F- _$ ?+ f% k. k
for循环9 ]+ n: B# M S$ p
for count in range(3) :
- m4 {" S1 ?8 C# m' L' M name = input('name: ')
% T$ c0 O, Z6 v/ ^9 a0 q pwd = input('pwd: ')
. X: o& {+ |( r if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':
8 N0 {$ \ B, c/ b print('ok') n. K: a/ M8 L# v4 [
else :
& R# N1 [; }& \& R6 N5 D print('error')
; T3 X$ z' Q V+ r count+=111、写代码
- J- N7 d& N; Z5 m p: Ha. 使用while循环实现输出2-3+4-5+6...+100 的和
+ n8 C4 K7 ^+ U0 i x7 wcount=2
. L4 [: |: v1 n jnum=00 ]* `7 V$ a2 }2 J! X1 }( Y
while count<=100 :. j+ L6 }. B# R
if count % 2 ==0 :+ k, g* Y8 m1 F
num=count+num% U$ G9 K2 A4 P- z
count+=17 d8 E% P+ h/ H, G6 M
else:5 u" A; s& ^6 n8 b" v* d* }" V
num=num-count
; k) ^* w! @1 Y9 _0 E9 Y count+=1
% S( s* q! v) X- X- Y# iprint(num)
2 U' A6 b) V3 a1 ~1 X% I3 O' m0 B
. y% P4 y* D5 G! c0 G( bb. 使用for循环和range实现输出 1-2+3-4+5-6...+99 的和
, }2 w M& r+ n. p7 f8 j num=0 k6 r1 B" U% Y8 g
count=1, o) t' @& g1 g2 t
for count in range(100) :
- f/ X' T% c" x! m- P if count % 2 == 0 :
, P) v0 x/ ?! f num=num - count3 w4 k- H; ~7 |
else :
Z' y$ ?, f+ Z' M$ P" [- ^ num=num+count
& Z9 D* L7 |4 e/ Tprint(num) c. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
" F; W2 v v' t0 \count=16 {% j, Q0 Y2 y, V y* s
while count < 13 :
( t4 x( U$ b4 s6 j if count !=6 :
% W/ _# K- |. Z e9 z& S- H if count !=10 :% G) Q6 l2 x7 g9 E5 ?; a, Q
print(count)2 v7 y S, h# _
/ m5 @; Y5 I! }# Y count+=1d. 使用 while 循环实现输出 1-100 内的所有奇数
, v' y& V* f) u( C' qfor i in range(101) :8 b+ q7 @! f% i* a
if i %2 != 0 :
: y8 l1 M6 L0 M3 W. K: i print(i)( N6 }5 ]0 t2 s
! }) p, j- o1 Wcount=0. _+ @, o* l/ o/ ]" S
while count<100 :: o1 r' S) L7 o8 z/ q
if count %2 != 0 :6 i7 [) X1 L* z) Y" N
print(count)
; r3 G! B! a$ W* U& Q count += 1
& }( e1 r* C `, h# s8 ?+ S$ r% j8 P$ @8 p+ y+ [
e. 使用 while 循环实现输出 1-100 内的所有偶数* {" J1 [, u0 Q7 B
for i in range(100) :
# B1 s1 J: {. E6 m' q if i %2 == 0:2 u( y: N, ~: S3 U% g5 U3 B7 ]
print(i), _0 E# H/ y$ L) _9 ^
4 C/ \0 j1 t# ^& C0 f( t
count=0. N/ L) A0 y% R* R8 N
while count<100 :6 P9 V7 p4 j: q" T) f6 p
if count%2 == 0 :
! n* R. @ J* @8 W print(count)
( O7 K: ^$ ^: Y/ W) j% T. _% M count+=15 o5 |5 C; h# K, ] }. p
* {; V) A- z! e" P4 J12、分别书写数字 5,10,32,7 的二进制表示" d& e' w2 E- T% E
. x6 ?6 ?7 a! r) Jprint(bin(5))二进制 0b101" }$ Z. P1 L, C- Z- q- h+ T
print(hex(10))十六进制 0x53 Y, l, [% }9 {" c5 z$ {! `, G
print(oct(5)) 八进制 0o54 S/ b; [6 y2 g! F
14、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123 n2 = 123n1,n2是连个不同的变量名,但值都一样,都指向了同一个内存地址, 9 Z1 x+ R- q: ^/ h
16、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123456 n2 = n1n2赋值给n1.指向同一个内存地址,
7 o( I1 v! ~. v4 _1 D }& l2 Q7 O17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5" A5 {) F5 P$ [7 s; c
print(int.bit_length(n1)) 结果 3
, y* n7 p7 G/ j2 E, [0 `9 w' M. h$ u) D* i
18、布尔值分别有什么?False .Ture ,或1 和0
+ y8 n; D3 C5 c* t9 m9 g+ _20、写代码,有如下变量,请按照要求实现每个功能 name = " aleX"
* B$ f% [; `- ta. 移除 name 变量对应的值两边的空格,并输入移除有的内容print(name.strip())$ {, o/ p& W$ }
" L7 O* l3 T3 w$ O: W4 C5 Jb. 判断 name 变量对应的值是否以 "al" 开头,并输出结果5 s# ^& M' V( ~" @8 L, q: J% j/ i
print(name.startswith('al'))
0 B9 L$ x& o( l3 Z$ v, jc. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith('x'))' E) O' E7 ^7 {# V4 @) n' l
d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果& \. d, j/ T1 ~& d
print(name.replace('l','p')) apex
/ v" x! Q' i7 Oe. 将 name 变量对应的值根据 “l” 分割,并输出结果。% E( C/ l& y8 u, q; i% r
print(name.split('e')) ['al', 'x '] 列表
1 q( n0 i* U* }
1 S9 p1 ~% a7 o) V% Tg. 将 name 变量对应的值变大写,并输出结果print(name.upper()) print(name.lower())i. 请输出 name 变量对应的值的第 2 个字符?print(name[1])
5 `; Z. t7 V" j4 ]6 B, }; H* a
1 G4 H |$ E3 i. ~9 Qj. 请输出 name 变量对应的值的前 3 个字符?print(name[:3])k. 请输出 name 变量对应的值的后 2 个字符? l. 请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index('e'))
, q1 L5 i( g2 {, _9 a* N21、字符串是否可迭代?如可以请使用 for 循环每一个元素?4 W, P$ B3 Y- T( o5 V6 Y. ]+ f
依赖索引% d. H+ _; ]2 I6 I) O$ ~
name = "Alex "
- e; c3 O$ l7 I. _+ efor i in range(len(name)) :" v( h9 C1 [" u/ z9 h
print(name)
; D2 H6 a: P9 D' S8 ^3 nfor i in name:
9 r. u* X& N+ V7 Q- b9 X9 S0 O" I print(i)22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']print('_'.join(['alex', 'eric', 'rain'])) alex_eric_rain' l+ T9 _$ P5 p! f4 Q
22、写代码,有如下列表,按照要求实现每一个功能 li = ['alex', 'eric', 'rain']li = ['alex', 'eric', 'rain']5 y- y: u! c( f3 _- ~4 {5 {
print(len(li))b. 列表中追加元素 “seven”,并输出添加后的列表li.append('seven') : O- B. i' \6 r8 n
print(li)
1 G: P- w9 [' k: f" w4 ~% V ['alex', 'eric', 'rain', 'seven']. `/ z5 N3 {0 u/ K/ F/ L ?
c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表li.insert(0,'TONY')# d# K& |1 _% r; n1 M- n1 K% F
print(li)d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表li[1]=('killy')- d" ~. L0 f; L# F* E- K
print(li), ]* V/ U9 l# I6 i" w5 d: ]
e. 请删除列表中的元素 “eric”,并输出修改后的列表li = ['alex', 'eric', 'rain']
* ]1 ?, r5 ~; h1 D# }li.pop(1)
/ _, X e# b' Z& D ^print(li) ['alex', 'rain']# u# _- W0 c6 ~& W' ?$ r: P
指名道姓的删除li = ['alex', 'eric', 'rain']! A9 {+ R6 H* {* N7 v
li.remove('alex')
. }4 E- s" i3 [$ fprint(li)
" v" d1 w& i+ n7 L/ hf. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表li = ['alex', 'eric', 'rain']
. ] {! V$ _8 Mprint(li.pop(1))
' d+ q* C; _0 m) T% _print(li)
" B3 {7 n- U& I
7 U; A% ^; @4 R _" @eric8 X3 r5 u0 D5 s; H C9 Y
['alex', 'rain']h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表li = ['alex', 'eric', 'rain']' W% u4 G, ?) z/ Y! U! Q
del li[1:]6 c6 n7 p- ^1 W( t3 R: P$ c+ `" ]) h
print(li) k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始)3 {; y2 s* q7 X
li = ['alex', 'eric', 'rain']" V/ @4 u( g% P' Q6 D7 i
for k,v in enumerate(li,1):
0 x9 n+ x; [9 e. D+ ^ print(k,v)23、写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
' I4 r, N, X6 C3 pa. 请输出 “Kelly”0 H2 W. ~; [' ~: I z/ |
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]1 }8 R0 q- a4 ?3 W
print(li[2][1][1])
T6 B6 `5 r1 b0 V3 l0 s3 D3 `b. 请使用索引找到 'all' 元素并将其修改为 “ALL”
* d. B3 V; T4 W; K. }: U- q1 Z) dli[2][2]='ALL'
- S& D$ c, x' {& X& l/ c% y3 Nprint(li): O0 w, a/ U) H& g3 _+ ~) a
24、写代码,有如下元组,按照要求实现每一个功能 tu = ('alex', 'eric', 'rain')/ Q8 Y1 X8 O+ a1 g
a. 计算元组长度并输出tu = ('alex', 'eric', 'rain')
$ S, h+ y% Z" T) r* U# @! lprint(len(tu))- K7 X8 N3 K) ?( x9 P
b. 获取元组的第 2 个元素,并输出
: ]5 @7 @8 Q8 z; f; _6 k/ zprint(tu[1])
# p7 G9 X( c/ R k# Qe. 请使用 for、len、range 输出元组的索引
9 @) t) N3 H. h; I) Y8 |% Kfor i in range(len(tu)) :
6 b% y% X* q. ^9 f print(tu.index(tu))f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)6 [4 U8 d& b. h; J* e
for k,v in enumerate(tu,10) :
5 W5 t% I) o. }; A4 C print(k,v)
7 B/ L$ T% N1 T10 alex
! ]( X) S0 r' n: t* E% Y, c- x11 eric/ x2 v# A% A+ }! i
12 rain
( O& {& `, y3 O0 X9 N1 p1 V L4 Z
3 L7 R- R& k7 v; U" ufor k in enumerate(tu,10) :$ [8 I9 h. q. m& i
print(k)# }( O9 o5 t7 i. y; g: m1 _
(10, 'alex')
1 z) k" M5 y" V. _$ t4 `(11, 'eric')
$ J e, u- M& L0 p1 A2 I0 V(12, 'rain')6 `; J7 A1 o9 h9 ~
, A* [% t" A% x' j N6 w' r% _, C6 M8 o5 c7 K4 C* x
25、有如下变量,请实现要求的功能
$ M' t7 s) H& dtu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”元组,不可以 & `1 L# @$ {1 N. U8 ^7 H
d. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”列表,可以
- ^) C* P, u/ f8 Ztu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])9 u5 T4 ]% ^& }
res=tu[1][2]['k2'].append('seven')
" M L" \7 j' v3 F5 U8 Z* {5 F- e* C( [0 d# B0 w
print(tu)1 d3 @6 e' N4 `" O% J" k
26、字典
) p( @$ w7 y5 w% |dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}for i in dic:
) ^' E9 `8 [6 s print(i)b. 请循环输出所有的 value- n; ~: Q+ _, B3 v2 F
for i in dic:2 T; _0 A; {! l- W! W# ^
print(dic)
; b& [$ W( K. C0 Y C; {: Kc. 请循环输出所有的 key 和 valuefor i in dic:3 Q' r5 _, N9 Q; p
print(i,dic)0 V. r8 |# B; c& k* K4 ~
d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
' {, m/ z! c; c0 S7 N+ M, ?/ ydic['k4']='v4'6 N0 N1 z1 D) i, Z( O
print(dic)! v! T; N4 m' p
e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典. _" [/ R7 M' B: H. n/ O
dic['k1']='alex'
& U! ^! b+ }$ W5 c9 {: d0 Nprint(dic)f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典" a4 w6 F( N& r
dic['k3'].append(44)4 `1 ~% F, J8 O9 N% k7 x% r/ V# ~8 n$ W
print(dic)# i& r8 L: Y6 E
, z! h0 L0 M; g" H
g. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典3 N: v: Y! F, p# p2 R' W
dic['k3'].insert(0,44): o P" K& |: i6 n- u; G
print(dic); @/ { C- q2 m) d3 d3 d6 q4 h
27、转换" y. O8 }' M s
a. 将字符串 s = "alex" 转换成列表 s = "alex"7 _; r; `8 T* L, w% a. \
* ]: Z3 [8 z- W' I( p
print(list(s))b. 将字符串 s = "alex" 转换成元祖# Y8 f; ~5 [* p. n7 A8 Q$ O
s = "alex"+ T6 Z4 ~9 a R6 ~* e% d% E
print(tuple(s))
& q, J/ T0 @& O2 [5 w
( G: O- K$ x' ^2 d7 d2 G5 hb. 将列表 li = ["alex", "seven"] 转换成元组
- f) L5 P& Q) p. nli = ["alex", "seven"]9 p3 e; G( P4 L$ L+ B
print(tuple(li))c. 将元祖 tu = ('Alex', "seven") 转换成列表
$ x1 H8 u' ^/ T. Y8 Vtu = ('Alex', "seven")
/ k0 t3 A/ P& R) _2 jli=list(tu)
M9 s1 U. W- f+ I% C' J" p2 @print(li)
* E% s* G- ~! q8 ]) T" j* b& _9 {7 E! t
' C8 V, _: v; }/ y6 U% j+ }d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增
6 Z: B& h( x1 J2 T" a. r) m/ E* @# U' j8 o( K
dic={}
. l+ x3 E- v8 S8 cfor k,v in enumerate(li,10) :----li要放在前面,序号放在后面
/ ?: U0 V- |+ e0 V+ w dic[k]=v8 H6 K6 U5 n2 j
print(dic)27、转码n = "老男孩"
' G- D/ _3 `1 x/ Q0 Za. 将字符串转换成 utf-8 编码的字节,并输出,然后将该字节再转换成 utf-8 编码字符串,再输出n = "老男孩" c b$ o( l8 [3 ]5 j4 x- |# F
a=n.encode('utf-8') # X4 N4 t& W6 Q# l$ \7 z
print(a): g/ w. o2 V) O( S' T$ u
b=a.decode('utf-8')' j9 w* A3 w$ _' z; ?) Q
print(b)# h- ~1 D# |# b& i, N
b. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出a=n.encode('gbk')
2 q7 n0 s) {) ]% _5 t2 Fprint(a)6 M0 X7 @( c" Q: y9 j7 f+ ]$ I
b=a.decode('gbk')
+ T' s8 Z! Y3 l+ O/ _( r" [print(b)28、求 1-100 内的所有数的和
' i3 L9 }8 u/ s h' m" D- bcount=1& c: u R- H" I4 F
sum=0
: ?; ^3 v! X* b; F$ Yfor i in range(100) :) N. ^) ?# t% s( x% p
sum=sum+count
5 v9 y# b8 D5 h& q2 Z count+=19 g3 D6 I; u0 |* m& }9 O
print(sum)
. Q& e1 M# m+ \: a% t! W) v o1 J& c8 L% i3 t8 b
count=1
3 s m& x8 i* |/ O5 Ksum=0
6 i& j. P; ]7 C; U) Fwhile count<=100 :
T, X2 c8 q/ A0 i4 r sum+=count9 {$ P, G+ d( w6 ]
count+=1
3 @. X: }% _, }1 C2 sprint(sum)29、元素分类1 Q7 f$ P. d5 A) G: v
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,
# ~% Z, o0 n3 Z' A0 {3 y$ @将小于 66 的值保存至第二个 key 的值中。
9 g* @' i) [4 y6 Y即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}
$ D2 i& Y+ \& S- P- D/ Z* Ali=[11,22,33,44,55,66,77,88,99,90]
) `' K9 C `2 x/ V/ Tdic1={
) m E6 I$ ] C6 u1 ^ 'max':[],8 N7 c4 u8 h4 l% P
'min':[]) M b. [! J3 r! e( c, l" u; h
}4 }* a! p: v% R. H j; g
for i in li :$ p4 Q7 v8 J- u N& W4 B
if i <66 :- g" q* F6 |& | R" ]. j0 @# W5 q
dic1['min'].append(i)
1 U I, a& ~) {( H else:( u) v* `* W( j5 P
dic1['max'].append(i)
7 i, z$ S, L( J- f* t7 P! G7 ]print(dic1), y8 H6 P* | j. V" W
' W/ X7 M$ \: ?+ @8 Z---{'max': [66, 77, 88, 99, 90], 'min': [11, 22, 33, 44, 55]}
& r/ ^. w+ l0 h/ l8 E2 s |