|
1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes=8bit ,2**8=256,可以代表256中变化, n! u) \! {4 p+ \. M
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个字节代表一个字符,
% Y0 I+ w6 z! p; l4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数utf-8 是3 bytes=24bit gbk 是2bytes=16bit
' L3 `. c& \6 F* p" C5、Pyhton 单行注释和多行注释分别用什么?单行注释 # 多行注释 """ """三个双引号或是三个单 引号把要解释的内容放中间, ‘’‘ ’’’ 7 p3 |" f X' D! Q n5 Q P# P
6、声明变量注意事项有那些?万能避错规则,以小写字母开头命名,可以加上下划线,或者数字, 不能以Python的关键字命名, 能表明变量的意义 " V* S8 e! h: C5 }7 o- N
8、如何查看变量在内存中的地址?1 z ?/ c* R8 d6 }1 {( w, w: e
z=1
! `8 g5 f$ p: h9 X1 l5 gprint(id(z))
/ t5 c. H! S% a, C2 v9、执行 Python 程序时,自动生成的 .pyc 文件的作用是什么?.pyc 是编译py文件后的二进制文件,用于加速运行 $ V' M6 |- w* s r R& ?
10、写代码
4 R9 o" j8 v7 @a.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!5 f5 I1 r: ]! s( ]% p) R
name=input('name:').strip()
, T* h, [' R+ b' Y5 E) dpwd=input('pwd:').strip()
) k) |" T' j Y* X! B+ rif name=='seven' and pwd=='123' :
# ]6 M; i4 @; W, I, y, ^0 W print('ok')( w) D. D! o) e; i: v
else:* t( h* k( A5 e' t0 E% R
print('error')
& F. O! M& K0 l K) P) C$ u; K
/ ? V& X0 |# J0 db.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while循环:9 t4 K% M% V$ ^9 r
count=1
! o3 z( C4 W: v: Fwhile count<=3 :2 _0 c% `: D5 R
name = input('name:').strip()7 \1 J6 }: j) d3 [# V
pwd = input('pwd:').strip()
' _' w* j9 _( d8 U! }5 Z
+ O0 K, D5 w* j' [& n, X% d% X if name=='seven' and pwd=='123' :
4 \. m5 G7 b$ o! R( F- Z print('ok')
) M% N, \- ?( j else:
+ Q* [7 d. P6 m- y# O0 v- ~( @ print('error')
4 K, k: R1 I* K0 H- t count += 15 k( X- i. u _! f9 f, G' t9 B
for循环:
- p: H2 p( n& P. Nfor count in range(3) :
6 L/ R; E% X( o& M9 K name = input('name:').strip()
" A+ U h2 g, F+ h+ R pwd = input('pwd:').strip() g4 T4 `4 }& t% Q: M1 ^
* N: K& d+ C, N# x3 ]# a$ | if name=='seven' and pwd=='123' :
7 b& F( z# C0 t* a+ r/ E3 _+ f print('ok')
' j1 o* O5 M6 c* |' C4 z* a; A; } else:7 s) h) Y9 d; m9 W+ n* z6 c4 B7 V4 W
print('error')
+ [; S4 R# P4 _ count += 1c.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while 循环3 |! @. p( ^( O+ h" ^9 L
count =16 ^. g* ?" M5 Z L
while count<=3 :
8 s$ E. x q% n; { name = input('name: ')
$ A/ }; R7 r' ]/ f5 ~, D pwd = input('pwd: ')' {$ b& y# d. c: l' Z
if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':' u5 n e* o1 O c: f# }
print('ok')
5 G( _8 I7 c$ H* o0 f9 [8 w else :" u) w0 t3 n$ ^6 O3 J* \% W2 o
print('error')- _1 _- }+ b9 S) u" {( c' c [
count+=1
! R6 I' v7 Q9 g9 \) bfor循环
" `4 J1 d) E6 w( g: I4 b( }for count in range(3) :
( T( S" f& d- z- z name = input('name: ')2 X( b3 P2 ]4 n& @
pwd = input('pwd: ')( t4 S8 b. S' n6 ?
if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':
* s1 W0 F& ^2 E# m print('ok')
: k: f. g4 u6 s7 ^: k else :- Z$ \$ q8 m7 B3 Z
print('error')
: g" ? |, v6 m# I9 d$ H count+=111、写代码
4 [9 k, R/ c7 xa. 使用while循环实现输出2-3+4-5+6...+100 的和7 Z' t* s0 D8 N4 S, M6 u
count=2
0 b6 x8 Y( W8 {6 m# fnum=0: s, D% H @- L; t
while count<=100 :6 A9 P E1 ~. }$ s) ~) q8 U
if count % 2 ==0 :
+ @# w H4 s6 y4 V7 [: [0 j num=count+num
- v. O" L) F& c; S count+=1* m7 |9 V8 ^! e2 e4 c! a
else:5 }6 r$ Y8 x4 J1 w/ _3 p+ p4 b
num=num-count- n7 D5 d9 s# U- L _
count+=1/ A1 |6 K) Q% t6 n
print(num). I. U1 w. s5 P% a
9 r( j2 a) { [; p4 E1 Cb. 使用for循环和range实现输出 1-2+3-4+5-6...+99 的和 - b6 T# i6 P3 D5 _" n6 N
num=0 p# Q8 l8 d5 @6 h" E
count=1
& [! N0 [( t0 n- _: D/ h; Efor count in range(100) :
: K, i" a8 I5 \& ~ if count % 2 == 0 :
: j% U7 X; M ~4 Z1 i6 m% A6 c num=num - count' Q- p0 ^5 r6 r
else :. I' J2 N: _ t6 q) b
num=num+count
8 w* r1 r# g. \- c; {print(num) c. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 5 s6 _! N, L) k E) D; `- E% k4 G
count=1
. B4 k8 |6 E) i* |* W* t5 fwhile count < 13 :% d$ j8 M6 x8 s9 a
if count !=6 :
$ l I2 g# R8 @( \5 k4 F if count !=10 :
( B9 t" |) P" ?) F print(count)
. l% O4 {: v* i! D" ?! W) A' @; O3 u/ u, k( J F
count+=1d. 使用 while 循环实现输出 1-100 内的所有奇数; j4 Y; R/ R4 j
for i in range(101) :
* ?5 [! Q" o1 G( v% C# ~ if i %2 != 0 :
" i$ ^" Q4 z& F; T print(i): Q7 }7 H; U; f8 j3 I# u
* J$ \7 c" |. V/ w9 t* F {/ Ecount=0
& |! D: F3 e' d" n5 n- p: k+ }% Dwhile count<100 :
' V5 T" H2 v* f3 n$ D if count %2 != 0 :! Z2 L% y2 q( f
print(count)2 u$ ] v, [$ | }$ i c
count += 1) e5 T: m. d/ o# T" {2 T) o
5 v$ x" e" @; B! I8 f
e. 使用 while 循环实现输出 1-100 内的所有偶数 @3 T$ q7 |' V: [4 E& ~
for i in range(100) :5 S; K9 @6 t8 L: ~- x
if i %2 == 0:
5 g, o3 _5 ^: `1 w9 { E print(i)! S1 e$ U& b e; F
" w# z2 `: r2 S2 o& B+ b
count=0
8 g2 i0 q" f' G0 G: Kwhile count<100 :
. z" Z' d& h6 c) i if count%2 == 0 :
! S- p& c0 J! Y: K9 G) s" { print(count)
: n- Z9 C% V) h2 P( K! A count+=1
9 n( g* _, B+ D4 R2 z( X
- y. I! W4 ^5 }5 J4 f! [* J12、分别书写数字 5,10,32,7 的二进制表示
" ?4 U. @) k7 Z
- m$ b1 P r0 z& {print(bin(5))二进制 0b1011 w) f5 g* R) I0 B
print(hex(10))十六进制 0x5
- B# x( u7 E* {* i O8 ]print(oct(5)) 八进制 0o5 X7 q$ Q; e! ?- [) R; O
14、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123 n2 = 123n1,n2是连个不同的变量名,但值都一样,都指向了同一个内存地址,
1 `% u9 w/ s2 e3 K# l$ J16、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123456 n2 = n1n2赋值给n1.指向同一个内存地址,. X# `1 k( |# a0 L$ o/ A
17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5
) c' a$ d! A' N. o2 k! h; w9 {print(int.bit_length(n1)) 结果 3 % v, K0 `) L s; W3 z+ H$ U
* X- F1 g5 w& A; `# v1 k3 A
18、布尔值分别有什么?False .Ture ,或1 和0 * c* a# K5 _5 b. T+ s. H- m, I; k
20、写代码,有如下变量,请按照要求实现每个功能 name = " aleX"0 ^8 E- W- R+ }3 a2 R* z- W+ [$ g
a. 移除 name 变量对应的值两边的空格,并输入移除有的内容print(name.strip())
$ e h3 i4 X# w! q4 [- s* G M& P/ A! v+ U
b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果 a! v! v, T2 S( N9 w4 Q' d: n' H
print(name.startswith('al'))" Z" Q4 I) I6 ]# E5 Q' p
c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith('x'))
8 X: d, @# H, z. \d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果" ?9 e6 o7 ]6 W0 ?4 [2 O
print(name.replace('l','p')) apex
6 M! _2 d7 J# Ne. 将 name 变量对应的值根据 “l” 分割,并输出结果。
) _0 h) } w- \9 ?6 D, rprint(name.split('e')) ['al', 'x '] 列表5 Z; U" c8 l" [. s, O/ B. o0 `& {
( r+ l- m" b, ?6 i% ~8 h, g, O- j
g. 将 name 变量对应的值变大写,并输出结果print(name.upper()) print(name.lower())i. 请输出 name 变量对应的值的第 2 个字符?print(name[1])
0 ?8 _7 U6 R" b& ~" ] ]. p9 c. n% r$ v* V- ]
j. 请输出 name 变量对应的值的前 3 个字符?print(name[:3])k. 请输出 name 变量对应的值的后 2 个字符? l. 请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index('e'))8 S5 P3 {# z0 B' ~
21、字符串是否可迭代?如可以请使用 for 循环每一个元素?
, y& B. ^# c- [1 A4 `3 q1 V3 E依赖索引9 y0 z1 |% W0 u' P7 F, q' I! m
name = "Alex "
# y- a( o- j( h+ H6 C7 ^for i in range(len(name)) :
1 A& Q; Y7 X8 O# f) {8 f* `8 F g print(name)
" D3 G! O7 c* Y5 J- Vfor i in name:
* h7 l/ l- Q: Y- A$ W print(i)22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']print('_'.join(['alex', 'eric', 'rain'])) alex_eric_rain. C/ `. y& M' w! I7 I4 E
22、写代码,有如下列表,按照要求实现每一个功能 li = ['alex', 'eric', 'rain']li = ['alex', 'eric', 'rain']
- e/ M! p) v" I9 Vprint(len(li))b. 列表中追加元素 “seven”,并输出添加后的列表li.append('seven') / a. I2 {/ P& T1 l7 H
print(li)
2 B% N8 U/ Q7 y$ k; Z/ G* f ['alex', 'eric', 'rain', 'seven']/ s3 r( M0 J1 T4 D) ^/ w
c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表li.insert(0,'TONY'). k0 W. E3 ~, r" D
print(li)d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表li[1]=('killy')6 {* j6 X. E- Y" S8 ?
print(li)8 B9 ^" o6 U6 F2 d' b) F
e. 请删除列表中的元素 “eric”,并输出修改后的列表li = ['alex', 'eric', 'rain']; a" j A. [, f! _
li.pop(1)# N: i9 u$ O0 {' ^5 ?
print(li) ['alex', 'rain']; C1 b# L C4 ~' R. o
指名道姓的删除li = ['alex', 'eric', 'rain']
5 ]6 A ]1 C- s- Ali.remove('alex')! Y! B$ j3 {3 h9 @
print(li). y9 B' Y5 m0 V E* o2 N% q
f. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表li = ['alex', 'eric', 'rain']
2 ^6 h# v& X, H9 j0 zprint(li.pop(1))7 j8 m( B+ }/ x+ u: e
print(li)
; j/ O- \" T, r" x1 }! e7 B, {1 u' Q2 `: l ^" b' ~$ N& }
eric
]) T; c. l. N3 y5 G' F['alex', 'rain']h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表li = ['alex', 'eric', 'rain']8 ^& g" l. p/ r! e* S" p4 V+ E
del li[1:]
- W$ J2 [6 o( s# d! ^, Rprint(li) k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始)' _' G& X! R' s6 F4 X# [1 [( }
li = ['alex', 'eric', 'rain']1 H! y$ w! b+ l x' k- c
for k,v in enumerate(li,1):+ I' ?& [% s: W
print(k,v)23、写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
& G; F3 |/ B Y# ra. 请输出 “Kelly”
. Y8 v0 e* B U! I) e8 ^li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
& {0 X/ f4 [1 W- j! n% oprint(li[2][1][1])3 w" q4 f. i) h" |, J# c
b. 请使用索引找到 'all' 元素并将其修改为 “ALL”
% }+ G" }: y. F$ C- J% q3 h# jli[2][2]='ALL'
O) M2 L& p: [: zprint(li)( ?- z& ?9 {3 i" T
24、写代码,有如下元组,按照要求实现每一个功能 tu = ('alex', 'eric', 'rain')8 L. v: [& ~; J& H
a. 计算元组长度并输出tu = ('alex', 'eric', 'rain')# F3 z+ |: ?2 m0 S9 U
print(len(tu))
$ N$ m |, |" j r; F* n' O% \b. 获取元组的第 2 个元素,并输出
: |/ K- J8 E; _5 oprint(tu[1]): _# {) O- n4 b0 [3 ^. _- s; S
e. 请使用 for、len、range 输出元组的索引" c' d* p* k+ u2 ?1 o
for i in range(len(tu)) :* ~) y8 h3 @5 w
print(tu.index(tu))f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)4 U6 }6 _6 N4 J; q
for k,v in enumerate(tu,10) :3 V4 M+ y. ?4 [3 Z8 n+ G
print(k,v) U% p% g3 j$ @/ Z# `
10 alex
# Q1 Z) @' p2 ~ f% @11 eric7 M/ {7 _' T1 d9 y: n/ u
12 rain" j2 k9 r) U6 V% r, }' X+ `
3 M5 S3 j ?) C) c) }for k in enumerate(tu,10) :" ]$ q Z ?+ l/ Y0 u: F0 _
print(k)+ i+ ` K* ^' t2 a$ N/ U
(10, 'alex')) h! Q- i8 o" b4 ~. j
(11, 'eric')% {( c9 E* t- i! Z& c/ f4 K' i$ g
(12, 'rain')
1 |6 x, c# n3 T
* \0 X! X9 K! [; y4 s; ~( S* M, W, @0 ]
25、有如下变量,请实现要求的功能# y9 e) U- }/ A; k: F0 Q A
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”元组,不可以
) H# ^- d0 M k1 g% sd. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”列表,可以
( ^: P! M2 e4 Ftu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
2 q9 @) z! Y0 q- P6 Xres=tu[1][2]['k2'].append('seven') L8 e9 g- t$ v1 ^6 x7 S
3 R: n0 V0 ^" S! }* q
print(tu)# ]2 o! y& j/ p
26、字典/ M0 o& b' d4 d& j6 r! W, r& V
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}for i in dic:, x. M. F% p: @1 k
print(i)b. 请循环输出所有的 value) s2 S6 |9 U1 A1 z
for i in dic:# I% h# @+ [8 O) ^) t" x D' t
print(dic)
' h8 W0 K" o( Ac. 请循环输出所有的 key 和 valuefor i in dic:
4 ?2 j) T7 r; C( |4 uprint(i,dic)
1 `; ?$ n% P) D3 n7 Vd. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
+ s0 Z* @1 O$ F* sdic['k4']='v4'
0 N4 `6 v C& _& ^: Y* eprint(dic)& m5 R& g% C/ Y8 k9 R# [( o7 q! q
e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典. z. D+ G1 G) n! W! \
dic['k1']='alex'2 J+ A. Z0 V4 k# M) A; z
print(dic)f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典
" |% I8 o! y4 Qdic['k3'].append(44)/ a* d" e2 m( }- \7 ]* p3 B0 z
print(dic)
& X) Q+ n* U' A `' |0 ^. Z( @) l" |
" U: |$ T, q2 eg. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典) Z( V8 ]' O# S! o$ E
dic['k3'].insert(0,44)1 P" n* @, R$ b
print(dic)) }3 }+ C8 }1 `& c. M6 M
27、转换9 H7 I% E/ Z+ D$ D
a. 将字符串 s = "alex" 转换成列表 s = "alex"
8 @% x. E5 W: _- N3 g# {$ s0 F* R! C; H4 B, o# Y) s. |* g4 S
print(list(s))b. 将字符串 s = "alex" 转换成元祖
4 e2 N4 s; X( K8 H0 l5 w. ]s = "alex"
5 Y0 A$ {5 t& J% {print(tuple(s))" {6 W) U2 @1 W" m" \: r
" Z( ?9 C+ W$ o6 Z' Kb. 将列表 li = ["alex", "seven"] 转换成元组
- i( M" [' f) p+ N% F0 ^li = ["alex", "seven"]+ @4 w6 d( m8 z$ f/ C& @% ^4 _
print(tuple(li))c. 将元祖 tu = ('Alex', "seven") 转换成列表
% |" |) X7 }9 ?tu = ('Alex', "seven")8 v( z& K7 i2 z
li=list(tu)
& y% Q0 U; M$ p% A! qprint(li)
& S- ?0 \" d$ {; ^6 G, U5 G* o6 A8 P# ?+ [* H2 a9 {
% Q1 C2 M1 Q% C+ I" _. Z
d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增
5 t# }, N7 E7 O& q8 D; B$ n
6 p% f! i, h: \2 G% Qdic={}6 M9 Y( ]7 a# S4 p- ]. _
for k,v in enumerate(li,10) :----li要放在前面,序号放在后面
* ~, u3 ^: A( V6 x dic[k]=v0 [! z7 O" \+ ^# {
print(dic)27、转码n = "老男孩"& G& P8 l: y- A; l" }
a. 将字符串转换成 utf-8 编码的字节,并输出,然后将该字节再转换成 utf-8 编码字符串,再输出n = "老男孩"- H0 c6 [# U8 n7 {9 T: {* s
a=n.encode('utf-8') : W" u4 g8 N* I2 W( |' U$ z! T
print(a)
; @5 N2 P* r+ bb=a.decode('utf-8')2 `* K6 b$ n' U N
print(b)
# f9 x1 O! A* O. ]b. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出a=n.encode('gbk')* G. F: _7 G- X; [
print(a)
4 `* |6 c# @6 g1 v; U/ J+ nb=a.decode('gbk')
+ u5 ^5 c; Y: a" n; _& Rprint(b)28、求 1-100 内的所有数的和
4 P* l1 V5 r* v4 O1 hcount=1
! a+ p( ~6 b; [9 y2 Z }sum=0
$ T$ G. H9 L9 wfor i in range(100) :
3 F$ p3 P0 X" ] r: y+ O6 s sum=sum+count5 n2 ^3 i2 @% y+ a1 Y. d5 z
count+=1
: _, h [3 k/ V Xprint(sum)' E; {1 _1 S; J6 ^& U
; @3 D7 @2 n; {5 k6 L
count=1
, K% J+ W7 ^$ ^, e7 Usum=0
Q5 p8 F3 H" l: z0 `0 Cwhile count<=100 :
. B* `8 E8 G0 q- |) s; Z sum+=count! z- ^# y" x# E# C. ~0 m4 k8 }9 F
count+=1: s+ b2 o. V2 k# Y
print(sum)29、元素分类
& F9 t# `0 \7 i- f' }2 R$ y! l( g有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,. b' a+ H. B# @4 W, A
将小于 66 的值保存至第二个 key 的值中。0 g. W& i7 n: A0 O3 K
即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}
4 g/ z. y$ G" Mli=[11,22,33,44,55,66,77,88,99,90] Q- z, ^# e: c* H3 c5 j4 `
dic1={3 h0 Y, \8 U8 w$ s% ^
'max':[],* _3 E! n5 w; ~8 }* M; V3 q
'min':[]
6 O# K1 k6 {) T8 _}+ W( d6 F `# y: N; z
for i in li :
6 T. q1 E' @- [" X if i <66 :& l' X4 |; B" D2 t2 M6 u7 B
dic1['min'].append(i)9 p% v0 |' T) d& P, X# e
else:. O3 R7 k8 R/ A7 W9 I6 v
dic1['max'].append(i)
7 c3 R2 o B0 h/ m \4 o- Kprint(dic1)( M) b0 ^# e- {
4 i: x x2 Y& J' v7 _---{'max': [66, 77, 88, 99, 90], 'min': [11, 22, 33, 44, 55]}$ s1 f3 z/ F/ `3 o1 e# |* @
|