|
1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes=8bit ,2**8=256,可以代表256中变化,
4 l' K$ g* N( S7 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个字节代表一个字符,
! q/ Z3 n4 C" C4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数utf-8 是3 bytes=24bit gbk 是2bytes=16bit
. R2 a% `8 Q/ G. ]9 a& _1 n$ _" W: }( }5、Pyhton 单行注释和多行注释分别用什么?单行注释 # 多行注释 """ """三个双引号或是三个单 引号把要解释的内容放中间, ‘’‘ ’’’ 4 U1 ^$ ? u. k7 X/ v6 x
6、声明变量注意事项有那些?万能避错规则,以小写字母开头命名,可以加上下划线,或者数字, 不能以Python的关键字命名, 能表明变量的意义
9 @! ^+ f# H8 d8 s- w8、如何查看变量在内存中的地址?2 ]6 ^9 I2 J9 r9 v% Z- R
z=1
$ O( O* l [5 u5 Pprint(id(z))
~2 {% s4 ^# f6 k `/ K9、执行 Python 程序时,自动生成的 .pyc 文件的作用是什么?.pyc 是编译py文件后的二进制文件,用于加速运行 6 y, f* y O* ^5 K8 C6 F) T
10、写代码% p: O: l. Q- L: e7 a# ]' }1 X
a.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
" L+ S: c/ o5 I5 Y3 U% {7 G4 nname=input('name:').strip()5 T! b! U1 n2 }: P
pwd=input('pwd:').strip()+ \5 Y: s* Y! D6 f+ z7 E
if name=='seven' and pwd=='123' :0 ]' `, n, i+ C$ Z' |2 j/ E
print('ok')4 s# ?2 q& W2 \0 e: d7 Z5 e
else:
4 b- |( T2 [: {2 A! x# k print('error')
5 B, O& V8 C0 C; H* q3 p0 s$ Z0 c, a; n: ?1 ]
b.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while循环:
+ o$ e# o2 P5 v& zcount=1( |* K7 X7 V& x4 P: G V
while count<=3 :
' }8 i! ~1 f0 b; k- r4 s2 ~) {9 Q name = input('name:').strip() R+ i* w) r: Q k$ G) ?
pwd = input('pwd:').strip()
, ]! ~- `) \4 o) H J
0 }8 m# {9 q. H' J2 u) [9 } if name=='seven' and pwd=='123' :
, ?1 `+ l% X" m print('ok')7 l* s; x. I; M5 j) i& R2 H# l' O
else:
- _4 t# |1 d) {* n y5 `' c print('error')) x' \* U3 H E( i) u+ B
count += 1! C0 T$ q. W6 [7 D/ v0 b
for循环:
5 U9 Y% a( g9 Gfor count in range(3) :' r' c) Q7 v9 W1 F+ [; b* u) Z
name = input('name:').strip()
+ @. X( \. ~6 b: O1 E# { pwd = input('pwd:').strip(), u' f" F9 `7 m6 E d0 X0 k
! F1 Y% V2 V+ a. {( c if name=='seven' and pwd=='123' :
. w% P1 @. Z; W8 {( t O print('ok')
. H, K1 m" k( O: P T8 m5 o( O else:! p+ T- U3 N5 X3 e' h }- d% ^
print('error')# j2 H$ ~0 w" J$ Q( j9 Z9 g
count += 1c.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while 循环' ?/ j2 E: M( [. f/ b2 u
count =1) g" G9 e, U7 X6 Q, J1 Q) @
while count<=3 :
( p, P' Q8 w& I G3 | name = input('name: ')
, a0 k; H. x& W pwd = input('pwd: ')
* P; o4 Z& I: e( U5 |! U2 V if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':; S6 U+ M1 E3 D2 s, Z# j
print('ok')
! o+ G7 a6 U+ ~, W8 [ else :
# C3 \0 |3 c2 k- H8 J7 }3 W print('error')
/ \5 |) H: t2 j2 t count+=1
5 s# m8 W! F* O0 lfor循环
) N" j" M/ d c1 p8 Bfor count in range(3) :1 O8 \) P4 z* X
name = input('name: ')3 p" {( D, q3 c$ r3 h3 }7 D
pwd = input('pwd: ')5 m* p u7 w. M. `/ m
if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':
: `5 z8 D: V0 }7 q" n7 A) n print('ok')% }2 }/ E+ e0 K. \+ B7 l
else :: a9 q! C% `) }+ W0 F. C, n% o
print('error')5 m5 D$ c/ ^" G! h
count+=111、写代码3 G! z% {9 M+ N9 I) y
a. 使用while循环实现输出2-3+4-5+6...+100 的和' j" [8 _% T9 O @2 d% o' K3 {0 T
count=2 ?+ z" {. t8 j1 V; c
num=0: b+ w4 G4 d- ], K
while count<=100 :- r7 C- \1 w# A2 P+ v5 Y" J
if count % 2 ==0 :$ Z2 {' G( w* N2 h! q) O+ Y% v
num=count+num
3 d: f. K7 E) ?& M' V' J count+=1
V% Q |1 U; T( U& O d5 S# j" u else:
" {! F# Z" j" W( S# V num=num-count+ Y/ W& M# P7 |5 K
count+=1
: B, H _" o8 _- Fprint(num)' L. Y) R/ f! k
( E: D3 T4 x; e; o( O) H! J! Z: Cb. 使用for循环和range实现输出 1-2+3-4+5-6...+99 的和 V5 R6 D$ v4 h4 [* m- d4 x
num=05 v. K# p$ ?6 \8 Q2 g- [$ K! N
count=1/ H! g8 m# v$ \" v1 T2 y
for count in range(100) :1 A0 W' e( S- C
if count % 2 == 0 :
) q6 _" T. _% ]5 j1 ?# t num=num - count
9 y" Y+ b5 R9 o$ X else :/ `/ Y: j2 m1 U6 T8 h
num=num+count
( t$ s/ K ^5 Jprint(num) c. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 , x" H" j1 C: A) I- K
count=1
! _5 z4 S) S4 F- _5 Mwhile count < 13 :' S7 S$ U) Z- w: B, ]/ j
if count !=6 :$ p1 A3 z/ i: e% J
if count !=10 :
& y3 m9 O& T( Z6 z$ g print(count)
) V B- H0 Y# g& f: A" I) U8 o2 t9 \! X, c R* q M i; O
count+=1d. 使用 while 循环实现输出 1-100 内的所有奇数) M7 J7 s, }% }. e* f
for i in range(101) :
0 C% M2 W2 v% U% j5 K if i %2 != 0 :
) \- O* u$ Y) ~+ M print(i)
' p: F3 N* m0 l9 _
! k$ T' [$ }% @count=0" D: q1 ?$ Z; e4 ?
while count<100 :
& j5 x3 q+ a. N2 d7 _" A if count %2 != 0 :
1 M# x7 T9 `! I% ^& H5 h. |0 a0 b' H print(count)
# [# ?' @0 } x count += 1
2 O8 s" u n/ v3 \& O* Z4 x8 [! J x' v. l, G* Y: U
e. 使用 while 循环实现输出 1-100 内的所有偶数1 F2 l$ s1 N) B' {
for i in range(100) :0 M( n. Q* K. y
if i %2 == 0:# d6 x9 f0 f: f6 a, R2 v
print(i)
3 u6 V, s6 Y" z' Y, ?
8 j, O+ _# Z) |count=0% r: M# |+ o! ]! | G# l
while count<100 :: V& s4 u; c2 H" w; k/ n
if count%2 == 0 :
" a- L* y. S" O9 H& ` print(count)( I7 g' R9 |& g0 Q! W
count+=1
+ E" v2 M: Y7 C8 F1 p5 v/ f% M2 s5 y/ n& W2 c
12、分别书写数字 5,10,32,7 的二进制表示
, [( n) X$ m! L' v( r( w
% F0 E- P4 f& r# [9 _print(bin(5))二进制 0b101, }# r' v+ X* a5 f: W+ a8 g
print(hex(10))十六进制 0x5
: s3 F* L- P1 kprint(oct(5)) 八进制 0o5( @5 i6 c# \* m" f3 J
14、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123 n2 = 123n1,n2是连个不同的变量名,但值都一样,都指向了同一个内存地址,
6 l% ^/ e5 a A0 C! r+ b: n6 h; D16、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123456 n2 = n1n2赋值给n1.指向同一个内存地址,
% P! I/ g- h' V8 T. D4 E17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5+ y( y, v/ h! y
print(int.bit_length(n1)) 结果 3
8 {' f2 Z4 V6 V% z' z) i0 _8 C2 ]& X" g
18、布尔值分别有什么?False .Ture ,或1 和0
& {, q& m |3 z5 Y" }20、写代码,有如下变量,请按照要求实现每个功能 name = " aleX"
# U/ v4 v; V& M( ~a. 移除 name 变量对应的值两边的空格,并输入移除有的内容print(name.strip())
+ K0 B C/ p! s/ B l9 U' k5 D7 l' n: p- s/ _$ h
b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果' |7 `: t' |, q
print(name.startswith('al'))
$ x7 B, P1 e3 Z" ~( L' Jc. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith('x'))6 Z+ l& M/ l1 j: M* u/ w
d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
( u8 O5 V$ v! Z3 K( @% R5 ~ }print(name.replace('l','p')) apex / ]" x- T& O- F% s7 s
e. 将 name 变量对应的值根据 “l” 分割,并输出结果。. M# @8 t. c# g. {- B" r# n
print(name.split('e')) ['al', 'x '] 列表
& g4 \7 |1 J- W4 k" v7 G2 w6 i! m6 D6 `- f/ X4 y+ P. g- `
g. 将 name 变量对应的值变大写,并输出结果print(name.upper()) print(name.lower())i. 请输出 name 变量对应的值的第 2 个字符?print(name[1])0 J6 ?8 Z1 p9 k
/ S# @3 x$ a9 S, o# jj. 请输出 name 变量对应的值的前 3 个字符?print(name[:3])k. 请输出 name 变量对应的值的后 2 个字符? l. 请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index('e')); }9 P% j2 ^$ D3 G" ^+ m- H. U
21、字符串是否可迭代?如可以请使用 for 循环每一个元素?- X7 D! U+ `, E1 S! s7 y0 L
依赖索引% A5 D- o! i* G8 Q
name = "Alex "9 x) [7 Q6 F2 y z! } w
for i in range(len(name)) :
2 Q5 z3 Z: s( S) l, d. E, N print(name)
* P) m7 W% C! ]/ `for i in name:# z ^1 Z* {* h" f
print(i)22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']print('_'.join(['alex', 'eric', 'rain'])) alex_eric_rain, w8 b; u9 d* c5 i! G
22、写代码,有如下列表,按照要求实现每一个功能 li = ['alex', 'eric', 'rain']li = ['alex', 'eric', 'rain'] L4 e& I- p9 Q; {
print(len(li))b. 列表中追加元素 “seven”,并输出添加后的列表li.append('seven')
! G! p' m: ?* }* A" J6 hprint(li). i; [0 {5 k8 E- e, G
['alex', 'eric', 'rain', 'seven']
' p# I' O3 `" _' uc. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表li.insert(0,'TONY')
) Q: Q& k1 w0 z7 c% E7 D# ?print(li)d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表li[1]=('killy')
, _% s/ |, A( J7 sprint(li)
" `7 ~8 ?. V% O4 Z: l6 J+ te. 请删除列表中的元素 “eric”,并输出修改后的列表li = ['alex', 'eric', 'rain']
; t* S' I2 ?. m" xli.pop(1)/ O- j- d) V, x. Y
print(li) ['alex', 'rain']4 L0 Y/ v8 b* u' E: O/ B6 `
指名道姓的删除li = ['alex', 'eric', 'rain']
$ K4 o) {! ?9 S2 ili.remove('alex')6 P. A' J* \3 Q% U `% w0 P! N3 D
print(li)
& L3 ~& o0 H: u' ~( Bf. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表li = ['alex', 'eric', 'rain']
# `( I4 p6 P* W ^% aprint(li.pop(1)). Q; Q" |% V( t t& v5 Y o3 Q# `- U
print(li)9 ?. w' P- N9 k4 V0 }
( k' H. [5 G8 o% S4 r, {! R/ `. veric) F9 i2 W3 v$ j8 s" s( h5 w* P
['alex', 'rain']h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表li = ['alex', 'eric', 'rain']
' R) P9 }. [, [: w' ]8 K& Sdel li[1:]
( N" p; A$ b7 U, \* o7 Kprint(li) k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始)
4 R/ n4 y: f! r3 r; l& Mli = ['alex', 'eric', 'rain'] w1 q \5 l1 J. h
for k,v in enumerate(li,1):
) v1 {6 O! v8 ?1 F2 B* ~8 m print(k,v)23、写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]# [/ N( a" T- E. g
a. 请输出 “Kelly”
) s) d4 d& {9 R# O1 }( x9 D2 ?li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]9 m- o* H- p) d: X
print(li[2][1][1]), j/ [9 H% v/ n7 Q! [+ @( l" R8 v
b. 请使用索引找到 'all' 元素并将其修改为 “ALL”
5 O; c& n4 w' dli[2][2]='ALL': N4 D% p5 e3 ~# }2 Y9 V
print(li)$ u5 \6 B, e0 M2 X% N# F
24、写代码,有如下元组,按照要求实现每一个功能 tu = ('alex', 'eric', 'rain')7 @4 ^ e3 I4 o* E! K7 h( H
a. 计算元组长度并输出tu = ('alex', 'eric', 'rain')
4 d: b" Q" s- \) X \7 rprint(len(tu))4 q5 ], F ~9 K9 F9 x3 v8 e
b. 获取元组的第 2 个元素,并输出
3 E3 S9 [9 G2 L1 ]9 Z; Fprint(tu[1])
8 L( X: x( i% j) j5 d; D7 d) O- He. 请使用 for、len、range 输出元组的索引7 {* t& e, ?8 N
for i in range(len(tu)) :5 j) X. e% s5 t, Q+ |, E
print(tu.index(tu))f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)6 U1 _) L% m3 p# K; r, C
for k,v in enumerate(tu,10) :9 `$ U6 m+ }) d. K
print(k,v)4 Y# s1 ^ `- J4 e4 X
10 alex
* ^: q2 `) [. [7 {11 eric
2 U( c; E' H! A12 rain0 V% {5 l' f3 T+ R0 F
$ Z/ I6 w/ _* e/ Kfor k in enumerate(tu,10) :
8 L+ w& ^; _5 K% N' H: m print(k), G) R1 O9 F0 P" O
(10, 'alex')
9 e: u) O+ y4 r+ R+ H+ M(11, 'eric')
4 h; q, h0 ` q3 R# U; \- Z(12, 'rain')7 t: X {! r% y; P8 k
3 {$ O: r, M8 {. Q3 D2 H/ l
( U) o; S) O0 q, n! K25、有如下变量,请实现要求的功能
' k' E/ d L. F$ K' H3 Rtu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”元组,不可以
0 I: e% E" f4 f3 dd. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”列表,可以" \5 o3 L( f7 S: C
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
+ t/ e' z; E7 M- cres=tu[1][2]['k2'].append('seven')7 X+ R: l; w( C& {) j9 G
9 f" \# e. K6 Pprint(tu)
% B/ H7 H8 G1 f, p1 M8 H; n26、字典" t4 Z) k5 r& V* L2 n
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}for i in dic:) v: ]5 n D# E9 D
print(i)b. 请循环输出所有的 value
; x0 z/ W0 P6 |, k9 {+ M2 Hfor i in dic:
1 O: i h+ A* K m( U. @ print(dic)* X7 \" I' G+ c
c. 请循环输出所有的 key 和 valuefor i in dic:* F1 T; m; T" y# b! L
print(i,dic)6 n$ r; I" b0 W1 v
d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典" z! y5 p& i2 J& F- ]
dic['k4']='v4': T9 b. P4 }) b( @! p, o' `8 g
print(dic)
5 v, D: k2 G5 p: G* Z5 Ce. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典2 e* z2 m) }$ A. l
dic['k1']='alex'
5 Y$ N5 _& q( {2 I% u* H5 `# ?print(dic)f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典
( t! L ]' O, ]) b1 ]dic['k3'].append(44)2 a2 T3 [) ~2 U% z3 T- [+ z Z
print(dic)6 R9 Z3 w. j8 o5 u; A) \) o
+ D2 l& H# @* Q7 e& vg. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典, L$ _. C% F7 c8 u$ ]6 E9 W
dic['k3'].insert(0,44)
. g" x. u. T4 yprint(dic)8 ^: W6 F! l/ p9 f5 ]' }
27、转换
1 ]; [* {. G/ C9 w$ W( H I7 Ta. 将字符串 s = "alex" 转换成列表 s = "alex". h1 @4 G$ f6 b/ ? G% V
; u6 a5 N* [* _& v$ o
print(list(s))b. 将字符串 s = "alex" 转换成元祖0 U+ R7 Q3 ^5 Y1 e: Y' @
s = "alex"& u9 q+ l) M( S; J6 j3 n
print(tuple(s))4 v6 i0 Y5 ?7 v T3 u
1 P% Y! X! I9 W, l3 \- b- ub. 将列表 li = ["alex", "seven"] 转换成元组
" J2 D% W7 }3 w; @/ n6 d( h# h3 \li = ["alex", "seven"]
, E1 O1 c5 Z x9 K6 ^print(tuple(li))c. 将元祖 tu = ('Alex', "seven") 转换成列表9 V8 Q) u6 U0 G5 Z8 r
tu = ('Alex', "seven")$ X1 l% ~" q" V6 y
li=list(tu)4 c! P, o5 P0 r, b8 L
print(li)
9 X- j$ J a3 q! f2 @& Q! R# M" _, ^2 ~, ]7 n0 A6 a4 p
- z4 d% n7 O" K! e& F; X
d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增
, ~: {3 T+ l8 H& V1 @9 }
; a5 q! j2 K5 Ddic={}6 D7 V# M" R6 ~
for k,v in enumerate(li,10) :----li要放在前面,序号放在后面. y& ^/ u, x9 i( F3 p
dic[k]=v/ G. L; u0 `8 ?' d! }
print(dic)27、转码n = "老男孩"
3 _$ Y; x. x4 W0 s4 s1 va. 将字符串转换成 utf-8 编码的字节,并输出,然后将该字节再转换成 utf-8 编码字符串,再输出n = "老男孩", j8 w8 G: V; j
a=n.encode('utf-8')
1 I# W6 f) o8 t" Z3 eprint(a)4 \; S: b/ r. ^ U5 o
b=a.decode('utf-8')
; P% l1 F {5 Uprint(b)
/ y0 o2 l) {' j* ?5 ]. Fb. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出a=n.encode('gbk')
! G' t5 }7 C4 E: y& [( _ @8 V' Sprint(a)
- @2 A" \5 \4 _) l* a* z: Wb=a.decode('gbk')+ y- d3 U" ~$ n% m9 ~
print(b)28、求 1-100 内的所有数的和
9 r) H1 C4 b; d9 X$ }5 kcount=19 T. o* G' v0 \; M
sum=0 i( c6 x' S8 p# U- r# ?
for i in range(100) :
. {2 B" v- k- r' }4 x sum=sum+count! X% }+ @# m6 u0 Z0 I/ [7 p
count+=1
- W7 l& }! B/ [# z8 q# q$ Jprint(sum)6 o) Q: M, l' v( p
6 ~- J( \' \ k7 o9 k& q, m
count=16 s3 }! F6 N$ [( k* O; Z
sum=0; x% ~* c6 A( [5 ^& e' s# a
while count<=100 :% x9 s* Q% m* a; Y o$ P8 i
sum+=count
! t9 {1 \7 ?! ?1 P count+=1
' [; T& Z/ D+ vprint(sum)29、元素分类
) a# [ V G% @! ^有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,# t$ |; }3 Y7 F4 z* ^* O6 l @' }
将小于 66 的值保存至第二个 key 的值中。
( i$ U# A: H& V即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}
) j% K) F+ a+ N' w+ K8 m9 z% ili=[11,22,33,44,55,66,77,88,99,90]
! b. T% m5 Q3 wdic1={: h! ]' `/ E. V6 @" ?
'max':[],
' v' U0 A1 l( ^; S5 B4 k 'min':[]0 w J/ ~9 z/ \3 {
}# G4 L9 C+ B# j4 c
for i in li :+ }0 H; @+ Y+ j6 K. R: c
if i <66 :
3 a) p2 _" _" T9 N0 [. W dic1['min'].append(i)3 W8 f7 { ^8 t
else:
& \/ {& {8 @5 y dic1['max'].append(i)
$ O2 {$ ~' ] W% Pprint(dic1)
9 X( d. q4 M) g! W/ j* W; I5 P% }& i1 z9 y/ ?+ B$ H! Q
---{'max': [66, 77, 88, 99, 90], 'min': [11, 22, 33, 44, 55]}
+ b' T9 d o0 Q0 I1 f3 R p W |