|
1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes=8bit ,2**8=256,可以代表256中变化,
. D2 F5 G& i! v3、简述 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个字节代表一个字符,
4 E% n; D! @0 B2 s: h8 O" D4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数utf-8 是3 bytes=24bit gbk 是2bytes=16bit
. W0 g) i' F1 t; y g1 a5、Pyhton 单行注释和多行注释分别用什么?单行注释 # 多行注释 """ """三个双引号或是三个单 引号把要解释的内容放中间, ‘’‘ ’’’ & k/ i7 l, U2 ?8 T% Q5 U
6、声明变量注意事项有那些?万能避错规则,以小写字母开头命名,可以加上下划线,或者数字, 不能以Python的关键字命名, 能表明变量的意义 4 }( s$ `' n" r) i2 t7 k
8、如何查看变量在内存中的地址?/ i/ E) m+ _ x1 S% Z1 z! K! o/ E
z=1
1 J5 {" G4 K) y2 ~print(id(z)). W A2 e U$ X+ O. e3 Y! r" j
9、执行 Python 程序时,自动生成的 .pyc 文件的作用是什么?.pyc 是编译py文件后的二进制文件,用于加速运行 ( v, R) l6 n. F; U
10、写代码
# c2 `6 k8 u$ x3 N& E. S$ ga.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!7 b' l* g7 r" a7 }" r% w
name=input('name:').strip()
2 u! M9 {* x- Q8 x* `/ dpwd=input('pwd:').strip()% ]6 S& c1 p+ F( _7 B( s8 S5 o
if name=='seven' and pwd=='123' :
# t& D/ H6 v" ^* @, a4 K( ? print('ok')8 p8 t4 u/ \+ @$ `. }7 z
else:; x& t$ h, s4 ~" |) p9 {. a
print('error')
5 V- c! V/ X' n& G3 s u& G( g
5 u& X. p5 Y+ P1 ~! Pb.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while循环:
5 C% b% f: p7 L8 n9 pcount=1
- u5 R# S, A8 G& G) ^; Twhile count<=3 :
2 @2 L7 O: a) O: p) t name = input('name:').strip()# t5 F8 x- } z
pwd = input('pwd:').strip()) F4 W* b' y) Z
* p! e3 L) O1 @& [9 N" Y6 o7 j if name=='seven' and pwd=='123' :
c4 | U+ D' ?/ U5 o; V print('ok')/ X5 p) T. s9 u4 n9 b5 u8 J
else:; j" k! @( j. S
print('error')
. J* c6 U. E8 J1 m. k- E count += 16 C6 Z$ K: R% k! j) p3 h- T5 ~: s
for循环:
' d, ?( P: g ?- J; x8 Y/ Ffor count in range(3) :
# |; J# `' w; \( c; y name = input('name:').strip()! E* F! P! c0 u9 a% x2 G4 K: n! n9 V
pwd = input('pwd:').strip()
: J% R, C- }. m- N& @( \
' q F6 J3 C; c3 f m if name=='seven' and pwd=='123' :" R# R. t& i. n0 j% L ?
print('ok')! x7 P9 k4 L" `) d
else:
) D5 \; S- X7 Z print('error')
# d( k8 c9 _, U6 d count += 1c.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while 循环
1 V: u# I. _6 A1 T9 Hcount =1! ]9 |3 v( R& S2 g: p8 |
while count<=3 :3 ^- A, d* O6 y
name = input('name: ')' b# S3 L; \" Q( U! O9 u# }
pwd = input('pwd: ') y+ ?0 L3 a2 G# J+ K
if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':- ~4 ?$ A( L/ G9 a( e8 n
print('ok')$ f: U Y( @% }* I
else :6 X2 X( C8 |$ _& }7 y- L
print('error')- k/ `/ A3 S) l$ u5 q
count+=1
8 P( f; R Z* e- Nfor循环8 E; U a6 ~) i' H" T6 r" V
for count in range(3) :
7 L- d% D8 \% B* L3 z name = input('name: ')
- P) P1 ~3 C- J9 M' v9 E pwd = input('pwd: ')
$ ^( W9 \9 k& p! o( ]2 u if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':$ `2 E0 c, Q* K: J+ T8 d8 Q
print('ok')
* r6 d. i* G1 V! x else :
5 k h& [- ^# O2 h print('error')
6 F' h. g$ C ]' H4 \$ H count+=111、写代码) [+ K. m/ g* l6 `- \
a. 使用while循环实现输出2-3+4-5+6...+100 的和; w2 `* r( ?' d7 e; `. ~
count=2
0 d F5 ]( H( s5 b9 \1 r# n5 Tnum=0
2 g& e+ h2 f, U6 B: o+ E) b8 {: |while count<=100 :1 d6 c5 h" {" e4 b( ~: R6 Y
if count % 2 ==0 :& |- H p7 R% d
num=count+num
$ C2 V a( x# ? z9 L3 C count+=1
$ U+ i" y v) j( X; ] else:" {" ^7 x' d$ M, z7 i
num=num-count
h" h+ D) l' \- f2 u+ M) N' B' K count+=1
7 y/ |$ F- v1 {. Gprint(num)
6 g8 p9 G" u+ I J# z2 [
: e6 O7 k& D+ y5 ]b. 使用for循环和range实现输出 1-2+3-4+5-6...+99 的和 - p8 l. V2 }& u' @% C( K
num=0
4 H" X2 u. Q; y: b7 ncount=1, A2 }& p! T4 E# y
for count in range(100) :
, I1 \' P$ F+ D; R7 @: P if count % 2 == 0 :! V1 t, j6 a' Q% q
num=num - count
/ y+ n2 @- G& n' C else :
( D! R. C2 T: } num=num+count; j& S7 E2 `4 f! [- u7 x8 t
print(num) c. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 3 E8 C' z% X2 h; y1 v9 R- e7 b1 I
count=1
% r% p D& |. E( Nwhile count < 13 :
$ B, M$ X2 |7 C9 D* W) |) Q3 x0 _% g if count !=6 :0 P0 m; s7 v- q, k! U) F: Y: e1 A+ _
if count !=10 :8 A& s. A1 ?0 `3 n
print(count)
! ~% I" e5 m* r, q6 E% o% S; @$ D4 ?; m
count+=1d. 使用 while 循环实现输出 1-100 内的所有奇数
9 @3 y8 U9 ^# D$ Y3 Jfor i in range(101) :
$ T5 }' E! N; y4 H' @; c if i %2 != 0 :# U; I6 Z6 i" t+ z, I
print(i)% i7 \5 M" x6 ^+ S: \
( {: l8 D) C( h3 z, k8 Kcount=0( @0 E M9 i' ~( o* c! J b- q7 C+ b
while count<100 :
& H- }% m1 X* U- w if count %2 != 0 :, J) [. t: s- p& k3 i
print(count)
/ B0 X7 Q8 S5 W- R) w count += 16 E5 I& W3 g2 z1 u: b) ^4 ^
' ~: L& {( y5 E- @& e
e. 使用 while 循环实现输出 1-100 内的所有偶数* [0 h) ^( E7 Y: N- e9 ~
for i in range(100) :4 s( T: ?# ^$ O. y" R( n4 f/ F
if i %2 == 0:- g% q- z% x( R- p6 M/ D& K [
print(i)( M' s t% t* Y$ }
2 a4 X" W, J: j7 f( V5 B* O! Y
count=0
4 J& z! X% n+ ]8 A! Ewhile count<100 :" Z5 k& ^6 k1 I4 C* n; E
if count%2 == 0 :
* x% {( k& Z$ a print(count); ?: z8 j# L' H: t) ]
count+=15 M4 g0 n. @# D/ R7 W b
l/ O1 L) ~! @
12、分别书写数字 5,10,32,7 的二进制表示
. Q! ~% m0 I' @4 ^4 e
4 s- b( q4 D& a* n2 Pprint(bin(5))二进制 0b101' c' e" m( z0 A- A% B% j
print(hex(10))十六进制 0x5/ a2 a+ ]* a+ h
print(oct(5)) 八进制 0o5
& x; o, a3 N. x5 e3 o8 A: J14、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123 n2 = 123n1,n2是连个不同的变量名,但值都一样,都指向了同一个内存地址, 5 ~# L; Y, E4 S/ Z" f" v
16、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123456 n2 = n1n2赋值给n1.指向同一个内存地址,
$ M! X' u# L! |) z17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5
$ P! A9 Z$ M" k' g- qprint(int.bit_length(n1)) 结果 3 0 W$ T% C; T8 `7 G( ?/ q
9 ?, ?. ]9 T/ _# d |' b& C3 S( U9 y% N
18、布尔值分别有什么?False .Ture ,或1 和0
; S) I4 L4 H2 y0 R20、写代码,有如下变量,请按照要求实现每个功能 name = " aleX"
: M h" J$ @0 v8 K1 m% _& h0 `a. 移除 name 变量对应的值两边的空格,并输入移除有的内容print(name.strip())# H7 G7 g* f0 c
: g4 J4 p1 [3 e4 x8 L' C
b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果8 P3 w% C/ G- E0 Q5 J$ Z
print(name.startswith('al'))% d+ F. l" w4 L4 p& D3 W }
c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith('x'))3 O- V P/ H& \ ]: O. d; j
d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果6 ~8 G* M5 u' H
print(name.replace('l','p')) apex
5 u6 u( g0 j& m1 ze. 将 name 变量对应的值根据 “l” 分割,并输出结果。' m7 Q4 w/ O8 m$ m- I9 G+ ^
print(name.split('e')) ['al', 'x '] 列表% f& R2 f1 n6 t$ k+ t9 Q$ j
: N% S+ u$ P. b4 `
g. 将 name 变量对应的值变大写,并输出结果print(name.upper()) print(name.lower())i. 请输出 name 变量对应的值的第 2 个字符?print(name[1])
* T" b" E) p" C; X7 Y" [; E) g% V" j9 e2 ?0 k. O
j. 请输出 name 变量对应的值的前 3 个字符?print(name[:3])k. 请输出 name 变量对应的值的后 2 个字符? l. 请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index('e'))
; |% s6 a9 ^5 |21、字符串是否可迭代?如可以请使用 for 循环每一个元素?
" G2 X' p5 O& R6 z. i3 M! h依赖索引# m A( e) T+ V* V# f( T3 e( \
name = "Alex "; L" u P6 B" x6 o+ M- B1 z& {
for i in range(len(name)) :6 p4 ^# ~6 ]% a* ]- j# S
print(name)7 Z: |' x, s1 w9 n2 L
for i in name:: `* |" [) G4 a, r$ x
print(i)22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']print('_'.join(['alex', 'eric', 'rain'])) alex_eric_rain5 k% G- {0 U* i2 |% Q+ l: U: n# R
22、写代码,有如下列表,按照要求实现每一个功能 li = ['alex', 'eric', 'rain']li = ['alex', 'eric', 'rain']4 B7 ?, l1 \* o* A9 [1 T
print(len(li))b. 列表中追加元素 “seven”,并输出添加后的列表li.append('seven')
# F6 r' j4 S2 a: V$ L$ z4 Rprint(li)9 v2 [* B2 j5 `" o) E$ B
['alex', 'eric', 'rain', 'seven']
; Y5 q- c% J0 v/ |- p+ Rc. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表li.insert(0,'TONY')% K) U/ X& s0 a E' `$ p4 A
print(li)d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表li[1]=('killy')
2 Z; l6 \7 L& @* s9 n9 ]: wprint(li); E% k* V; j, d
e. 请删除列表中的元素 “eric”,并输出修改后的列表li = ['alex', 'eric', 'rain']
+ L& u4 q0 N# T" _) W2 [li.pop(1)
2 G& k+ A/ c8 o+ `1 H: \' s4 mprint(li) ['alex', 'rain']
& o1 m. u' R/ `8 f指名道姓的删除li = ['alex', 'eric', 'rain']$ V; b Y' x- M2 O! c- H! Z
li.remove('alex'), K2 z/ i9 d6 V8 R( Z
print(li)
" z( @5 }) Z$ n4 z0 G/ Pf. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表li = ['alex', 'eric', 'rain'], D7 S7 c% n5 n" H3 u ^
print(li.pop(1))/ C! C+ Z0 Z9 H! K
print(li)' m5 G; D) D0 X9 R
; ^% \+ S. @) I0 C$ _- p# x
eric# p$ [9 X$ d* H( {$ I( X7 h
['alex', 'rain']h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表li = ['alex', 'eric', 'rain']- M/ u6 Z C, n
del li[1:]
: v/ c& }' S) F4 Q7 }' z) l1 w eprint(li) k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始) A- [4 J* g' \# w4 Q9 ]
li = ['alex', 'eric', 'rain']6 V! c& c; L' R# w
for k,v in enumerate(li,1):
* ]* F" h& b+ `+ ] print(k,v)23、写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
0 C5 \* n$ r& i8 fa. 请输出 “Kelly”2 @; P! C3 v! [& O
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446], T) N( w1 l$ k4 S: M& @
print(li[2][1][1])
8 B7 H! d* R( Z) a( {( Mb. 请使用索引找到 'all' 元素并将其修改为 “ALL”: f$ B& N$ c1 M/ F' {! {( u9 m
li[2][2]='ALL'
}5 R* {, R/ E$ a' \2 nprint(li)
: t* v! a- _$ Y24、写代码,有如下元组,按照要求实现每一个功能 tu = ('alex', 'eric', 'rain')
- t! P9 k4 K5 Za. 计算元组长度并输出tu = ('alex', 'eric', 'rain')
2 f" _5 B' |) y3 `print(len(tu))
) [6 q3 k! R' \b. 获取元组的第 2 个元素,并输出: l$ t \6 o) P% w* K+ n
print(tu[1])
5 b6 f: l. s2 p* \$ p. Re. 请使用 for、len、range 输出元组的索引
" T: k7 q+ E7 H0 Qfor i in range(len(tu)) :
3 @/ I( t1 b4 o$ I& K) \! Y, \# U print(tu.index(tu))f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)
) I/ z! K! |3 @* N: S( ifor k,v in enumerate(tu,10) :
5 \% o5 ~4 E6 y+ I- o. y8 Z print(k,v)8 P! c' G( C& u! _4 k
10 alex
1 S* m8 M" b( X* U11 eric' m3 q/ r# b; }% \5 v8 `
12 rain" T) U3 V9 w) S/ i1 h6 @$ a, L
z0 J8 s5 h6 y1 U: w u z, K
for k in enumerate(tu,10) :
# F) w; @/ ]" K9 Y; b print(k)
! O# ~6 `/ ]% t. s7 ?(10, 'alex')
$ C# U8 x- f1 ^ `; O(11, 'eric')% N! P7 c4 u1 I- ]3 D% n
(12, 'rain')
2 } _0 m2 r3 b( ^
4 {) T$ z7 `1 M& x- }. G: `
$ I# s6 r" q5 \1 Q25、有如下变量,请实现要求的功能
3 J( [" i2 G; p* c1 O5 J# Ytu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”元组,不可以
& v# i8 {. i' C; a5 q# F$ `2 G/ Yd. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”列表,可以 w& x/ w$ Z9 J& ?% Q, E9 {
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
( R3 @: T" w5 U2 G4 z, Z2 ]res=tu[1][2]['k2'].append('seven')# j( S2 p7 j' ]8 u' f6 [& l" M( `
( h' p. O4 J( [, e/ k+ |print(tu)
' U% {2 X1 K0 G+ i7 Y" [, I26、字典! j% g0 Z/ D+ m4 q5 p h& Y
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}for i in dic:
9 c+ [- @% w0 M print(i)b. 请循环输出所有的 value9 [8 t3 W4 a/ b7 S# d( f A8 x) H
for i in dic:% W5 r+ W- S, I) ?- e$ o
print(dic)
/ b8 w8 |4 t" e. V7 I3 D" [* ^c. 请循环输出所有的 key 和 valuefor i in dic:8 F5 M6 l, k+ x1 u4 u$ A3 s
print(i,dic)- o( ~. A: G4 X) a1 @, O% _
d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典' Q7 w) K. U7 F! t& ]
dic['k4']='v4'! S; Q. d4 @9 P' w4 R
print(dic)7 Y2 q. p4 H) ]: _! M
e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典5 s& f1 m0 D7 h" e* O
dic['k1']='alex'
9 b' t$ w: T, i* O7 h+ sprint(dic)f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典' z1 ^* q8 a( W$ Q
dic['k3'].append(44)8 [; B5 m V6 @, K0 ~/ h
print(dic): u. h/ Y7 n& M$ p' Y6 v
- U8 V% M* ?) \% f7 A5 z
g. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典9 l& T% u1 l! P+ f# I6 x. q
dic['k3'].insert(0,44)& K1 |4 `) h1 a7 E2 S
print(dic)
! `) n4 V; x& R27、转换! f' C- f( n# {5 h t. G8 @& s
a. 将字符串 s = "alex" 转换成列表 s = "alex"
* D, e# K" L" y+ V1 Q- P
5 ^; Z5 @) v7 u: Qprint(list(s))b. 将字符串 s = "alex" 转换成元祖
x$ v( Y7 |' B$ K1 m9 Zs = "alex"+ V" v4 ~2 a3 c
print(tuple(s)), _# J, x7 N7 {! c/ Q l
$ A! i. S f7 S6 Ob. 将列表 li = ["alex", "seven"] 转换成元组+ u1 V8 i1 x3 i* K/ C6 y& t3 D3 L% i
li = ["alex", "seven"]
% s! a0 X* B; w. ]& @print(tuple(li))c. 将元祖 tu = ('Alex', "seven") 转换成列表1 A0 e! x3 I @/ a" e' n/ m
tu = ('Alex', "seven")
- X# _+ [5 J& m$ `. u6 B2 v- f+ Zli=list(tu)
9 ~: u1 V0 S/ b; p7 W% rprint(li)
. Y* W7 P. Y6 O# g
, e5 T" g1 i: h h* E- L% M6 U. I, D/ _8 q) `9 L
d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增1 _. ^) h+ C G% V( x" u0 c
& x* F2 v0 _# H+ o
dic={}
8 w9 e: v0 \( bfor k,v in enumerate(li,10) :----li要放在前面,序号放在后面
" \( b. m6 ~; f* V dic[k]=v8 s: ?$ k7 I* p* \
print(dic)27、转码n = "老男孩" w2 t% }! b& a( X# P# z( ]
a. 将字符串转换成 utf-8 编码的字节,并输出,然后将该字节再转换成 utf-8 编码字符串,再输出n = "老男孩"
3 F0 D- M+ k8 I, Oa=n.encode('utf-8') # _" O) N+ ~) Q9 h/ F4 c
print(a)
1 s2 v. b' c; `$ R( T, o5 Ob=a.decode('utf-8')' {6 y) U0 g$ w& a7 P# B* r0 [
print(b)
8 O4 Z ]$ I2 I3 ?b. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出a=n.encode('gbk')- r7 N. J, Q1 I- `' M# H
print(a)# P: ] f" I& X. h" C( }" u- u. d
b=a.decode('gbk')
# H4 | l4 C; mprint(b)28、求 1-100 内的所有数的和0 ]8 M, W# C1 O5 n4 Z
count=1# M8 i: ^, ?3 B# n) @: T! r
sum=0; G8 J, r8 k- k* }
for i in range(100) :
) W, R. `+ B1 v4 p. @: [' Y# g sum=sum+count
6 U! C# D, B7 ^1 f+ z count+=1
/ t+ [ N3 Q, @2 mprint(sum)+ Z+ o9 D( @$ s; |. L( A
& ]: ?# h* o) g8 Y
count=1
) y" T6 P7 P: m+ r m `3 Rsum=09 j6 L! Q. u8 P
while count<=100 :: M/ l! Q8 W K
sum+=count
5 m# g- Z& l9 { count+=11 X; s. I' v+ z3 ^# H+ t
print(sum)29、元素分类# C. H& J L2 z% E
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中, [# M: L- Y1 E# }
将小于 66 的值保存至第二个 key 的值中。
* t6 F p& C$ I6 z- U2 e! r即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}
# _# o' h0 D5 X- Y( Cli=[11,22,33,44,55,66,77,88,99,90]
8 R* d& f7 f* L Idic1={6 {) _" s! e" \# P$ A5 o
'max':[],5 v; j+ k6 Z" e1 }
'min':[]# \4 A3 A! G C
}% r3 b, K/ ~. N
for i in li :, `% T! w5 k8 X U( I3 f
if i <66 :
$ z- f" X$ S* D1 h; L dic1['min'].append(i)
8 k: f% y( J5 W6 T7 n else:
( A0 G, {$ K* @0 O9 D* r9 _ dic1['max'].append(i)" m5 m0 x K, o; P/ c, B
print(dic1)5 A+ H8 z2 E* v0 T# h% |8 t, P
6 Q7 e- L* E. \8 d# x1 d---{'max': [66, 77, 88, 99, 90], 'min': [11, 22, 33, 44, 55]}
4 \: s$ C+ U$ d9 H) ~- y/ K" c |