|
1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes=8bit ,2**8=256,可以代表256中变化, " k+ Q2 e5 T; n w5 o
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个字节代表一个字符, * g5 O" Q6 A6 r5 X, s
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数utf-8 是3 bytes=24bit gbk 是2bytes=16bit
0 J& i& D2 X) P/ B( a5、Pyhton 单行注释和多行注释分别用什么?单行注释 # 多行注释 """ """三个双引号或是三个单 引号把要解释的内容放中间, ‘’‘ ’’’
2 M+ W0 V _7 }4 T% D# v% B. s6、声明变量注意事项有那些?万能避错规则,以小写字母开头命名,可以加上下划线,或者数字, 不能以Python的关键字命名, 能表明变量的意义 % O! M8 C V+ g
8、如何查看变量在内存中的地址?
6 Z) h% w, x9 g' Vz=11 k) [6 F) s6 ~% P- f0 e
print(id(z))4 m# |" ]$ k% [! t: S1 x
9、执行 Python 程序时,自动生成的 .pyc 文件的作用是什么?.pyc 是编译py文件后的二进制文件,用于加速运行 8 N: N3 k6 Q& O" b
10、写代码: ~9 u/ R& L: i
a.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
) W4 j( Q( Z' x1 P+ v R* g+ ename=input('name:').strip()' q9 r4 ~5 g: x* f
pwd=input('pwd:').strip()
" N0 i; O+ q# }$ ^% F7 ^: V+ Aif name=='seven' and pwd=='123' :
; E& W# r. s5 P8 e print('ok')( d8 ~+ A3 C/ @8 s; r0 E
else:
! Z+ ]$ G' p7 z) k$ N: m: o print('error')
^* Y" v# `# V2 K0 k1 y1 i2 Z
1 D) Q! }8 Y: H; Bb.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while循环:3 q5 D0 v" ~0 Z
count=1. J+ X9 E3 p+ N, |
while count<=3 :
" y: s, J4 J5 y7 A; D( H( G+ ]* K name = input('name:').strip()
" D# d: R) L) S) S pwd = input('pwd:').strip()1 |- f w6 n: D% q/ E
" C3 M4 @5 B! K/ e) U$ E
if name=='seven' and pwd=='123' :2 h& k# A, d. a- A8 p( P0 Y7 v+ O
print('ok')
: s; l& j# Y2 W6 o7 x else:
7 U" \0 G% e& w+ ^! L9 i J% | print('error')* N! R$ }% f8 G6 W/ @
count += 10 A( d4 \, I& Q2 z% U) t
for循环:. W9 K# P( l5 O7 C X" z: R
for count in range(3) :7 x1 i1 h7 O+ e
name = input('name:').strip()0 j+ s7 t" v6 [1 g# s7 ]( ^5 W) K
pwd = input('pwd:').strip()9 c) v& L2 |4 u4 N" _( b
6 Q2 ~9 [8 K& r1 k! j if name=='seven' and pwd=='123' :: y: \6 c3 k( m8 r8 v5 f
print('ok')
# T' Y+ B& m9 G: J else:. h% ~6 d) ~5 _' f
print('error')
8 @* @0 @: `: |* {1 x/ c+ b! u count += 1c.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次while 循环" O& N3 T2 _9 ~( r. C
count =1% O4 b7 ]- w7 L' f
while count<=3 :) K6 |8 z) h$ T5 D% y
name = input('name: ')
, N4 G7 d( ]0 F- T1 B9 V) Z& X; [. ` pwd = input('pwd: ')
`6 N7 L" w% M9 t2 n, ]% P if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':
* @; X: s% W" |9 g print('ok')0 L. E6 R! X3 T ]5 B2 S8 U; e9 x1 g
else :0 [5 R& C+ m* g1 O6 g5 ^
print('error')- ]3 |7 }' q1 c1 |0 r9 F
count+=1
3 L' F* l) X* g7 wfor循环
& V. R7 J% p( `# m# n0 d6 ]1 L- r9 Kfor count in range(3) :1 G, J: S8 X6 X7 ~6 m
name = input('name: ')
. o, v5 c- n( @9 p3 a. Z6 P* y pwd = input('pwd: ')
- _) h; x+ q1 }# A4 l3 u- C if name == 'seven' and pwd == '123' or name == 'alex' and pwd == '123':9 Q2 Y1 n+ w2 m- b' o Q1 H
print('ok')
$ S7 c8 ^" n/ U# n h: d9 | else :" ^ H1 m' c4 J( t, W# |7 M2 x- @) \7 q
print('error')1 z; M6 [( T2 ]6 j# b
count+=111、写代码
, ~4 D) X2 P7 e* L8 Pa. 使用while循环实现输出2-3+4-5+6...+100 的和
- ]; \' g/ t% p+ f7 Q2 }count=2
4 [7 a; D4 G5 p `! c/ vnum=0+ R. S4 O4 Y) C8 T- }% j
while count<=100 : a7 A! H$ W% q( P
if count % 2 ==0 :6 o5 m$ |4 V. Z0 h
num=count+num
/ \/ F0 F& Q z, T7 ?$ ] count+=1
* g5 u5 y0 B' E6 C3 s$ z- ~ else:
! ^" | U% B! N& H5 M" H# K num=num-count' ~! X9 ]6 M4 E, b
count+=1
$ |4 G& o! Z6 Kprint(num)7 \0 m5 m/ E, W2 f- T
" M% q% p' P: M1 O) O6 q5 u5 x( Tb. 使用for循环和range实现输出 1-2+3-4+5-6...+99 的和
1 {- D4 a3 a I* y \ num=0
2 N5 {7 F$ |3 Ncount=1- w2 H4 k" R, M# |9 D
for count in range(100) :
; h" ?. D( F w if count % 2 == 0 :3 f$ T3 P( g1 F( x* X% w( v
num=num - count" m4 f* v X6 y5 d0 h9 O" A" k
else :8 W! X% `: L2 P7 ]" M9 O* L
num=num+count8 A! g- J3 k$ c1 X; u( O* ]8 H
print(num) c. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 8 Z6 I+ k$ [5 D
count=1
* c; e9 p( R3 t& e% A/ uwhile count < 13 :5 F" r* F% {7 U/ P
if count !=6 :
- _8 S5 J+ g# ^2 K# }$ Z if count !=10 :2 a% t" O5 k/ g* p. X6 P
print(count)
9 a: j8 {1 g! u1 r" v. Y1 ]; ~# C$ Q+ R$ M; c
count+=1d. 使用 while 循环实现输出 1-100 内的所有奇数
' M0 |- ]& D% e% a5 lfor i in range(101) :2 W8 A) n' G/ Q$ T
if i %2 != 0 :
( j" _6 Q' k4 o print(i)
% H0 }* |% _9 c" T# O( V1 k) d" E/ N2 T' g2 k, o0 b
count=0
* d7 k) h @4 S* B+ R5 `6 B J' p* Swhile count<100 :1 f. e* @4 \5 {& m
if count %2 != 0 :' d" U# ~9 q b/ P2 K
print(count)
- e$ f* I ?4 f8 Y" i count += 1
: W) k' b5 J3 |3 N. r0 n1 [) B, n, b9 y& a9 j
e. 使用 while 循环实现输出 1-100 内的所有偶数
6 X2 C) T3 s- a2 Gfor i in range(100) :
8 R" `* b1 `+ \ if i %2 == 0:* w' V5 c4 a' T3 H% _3 \2 J# A
print(i)2 f9 s, o/ {6 G! n& Q# U$ [
# _. g- L! l! `1 z c
count=0
/ D* D8 X+ ^9 Lwhile count<100 :! V% I, t2 g3 A0 f% U/ Y x3 M
if count%2 == 0 :6 F% M0 x0 z' _" s
print(count)) t) V9 \2 \8 }1 E9 \+ ]1 ]
count+=1( ^6 u* Q" d3 ]; @4 h0 r
" h8 _6 ]3 \. F8 Z; s& o p4 g12、分别书写数字 5,10,32,7 的二进制表示9 N/ q3 x( f1 `7 ?, g
4 ]- s |' ~2 @! U0 T- J& q* iprint(bin(5))二进制 0b101
1 q R+ ?% \4 ~" \5 d9 h& Gprint(hex(10))十六进制 0x5
) N3 e/ c* |, |2 b+ b& rprint(oct(5)) 八进制 0o5. d( A' l. w6 j# s
14、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123 n2 = 123n1,n2是连个不同的变量名,但值都一样,都指向了同一个内存地址, & v! e( t7 d5 [; I. f- u) U0 p' w4 P
16、现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123456 n2 = n1n2赋值给n1.指向同一个内存地址,
9 {7 k% g! E) E6 T( Y, `6 x2 C17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5
4 t9 r) H& a" {, ^+ N9 w Mprint(int.bit_length(n1)) 结果 3
1 ?: [5 }) [; n
+ r8 o. `: d6 ?3 g; A8 E, _18、布尔值分别有什么?False .Ture ,或1 和0
- b$ X- d0 V' e* p) n* |20、写代码,有如下变量,请按照要求实现每个功能 name = " aleX"
- F) S: v! g/ a! s+ r' q; ^a. 移除 name 变量对应的值两边的空格,并输入移除有的内容print(name.strip())2 p9 g0 \. X3 g! k4 M( _
% s; S! Y( b V5 N4 p* _2 ab. 判断 name 变量对应的值是否以 "al" 开头,并输出结果
# L! p8 C1 r! N* C. Q Fprint(name.startswith('al')). v' w* v, k' a
c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith('x'))
- S) ?% a, ], R! v* y2 {. L( Ld. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
' R! [0 _7 v# a% Qprint(name.replace('l','p')) apex # Q, y, h* l7 k* \$ t
e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
$ U4 I3 @9 X2 O a2 i9 r/ Q4 tprint(name.split('e')) ['al', 'x '] 列表
8 F3 p9 y# @# d" k5 g, g/ I7 L/ b; E; d; K
g. 将 name 变量对应的值变大写,并输出结果print(name.upper()) print(name.lower())i. 请输出 name 变量对应的值的第 2 个字符?print(name[1])& K% u+ ?' n+ `4 O' E0 n
1 P9 F7 m4 b2 m6 q8 W
j. 请输出 name 变量对应的值的前 3 个字符?print(name[:3])k. 请输出 name 变量对应的值的后 2 个字符? l. 请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index('e'))
o7 d7 H' M$ Z0 g9 S. h21、字符串是否可迭代?如可以请使用 for 循环每一个元素?
9 ?( H* `5 a$ X4 o3 V2 t依赖索引& U& F/ Z$ m7 o7 ^1 N
name = "Alex "# x/ t5 T' w# d2 c8 w' ` g$ N
for i in range(len(name)) :2 j: l/ H9 @2 T2 M( B/ m
print(name)
3 Y" j4 F/ y2 X& y9 Q2 u, U, Gfor i in name:7 g n( W/ C& f; i& a
print(i)22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']print('_'.join(['alex', 'eric', 'rain'])) alex_eric_rain o s8 M2 | @
22、写代码,有如下列表,按照要求实现每一个功能 li = ['alex', 'eric', 'rain']li = ['alex', 'eric', 'rain'] m- @7 u1 }& }) h& P/ N
print(len(li))b. 列表中追加元素 “seven”,并输出添加后的列表li.append('seven') / R2 r# ^& P1 S1 d- O6 [
print(li)
* F% j* I9 G' D ['alex', 'eric', 'rain', 'seven'] E, J* t: n( a _( x! W" v
c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表li.insert(0,'TONY')% H5 Q/ @) O0 F
print(li)d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表li[1]=('killy')) U4 @" x+ M% k
print(li)7 v7 `& ]7 _, Z6 l j
e. 请删除列表中的元素 “eric”,并输出修改后的列表li = ['alex', 'eric', 'rain']
2 U& w) |9 }% V; A* d, d Wli.pop(1)
, K/ J0 H! ^) _$ w0 c3 d5 mprint(li) ['alex', 'rain']& O; y- o. @0 H( [$ X
指名道姓的删除li = ['alex', 'eric', 'rain']
) I" B. V" m7 S4 [- l y2 ~li.remove('alex')
" E2 J3 r. K& p. lprint(li)
& u& h0 B: t9 e. Ff. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表li = ['alex', 'eric', 'rain']
( c) G; m8 X5 A t6 H+ U$ qprint(li.pop(1))! O. f2 J1 j0 A4 {
print(li)
6 ~/ }4 _# m% _6 t" i- D1 M' h! k& [- y/ s
eric) t+ ^& n1 b6 w8 G+ w3 V
['alex', 'rain']h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表li = ['alex', 'eric', 'rain']
" h: s4 e. ]( h: ~* A& [del li[1:]
: l0 s4 G) m: p0 n* D% M) ?print(li) k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始)7 j" c, t/ e, J% m
li = ['alex', 'eric', 'rain']
; o1 a. t2 `* nfor k,v in enumerate(li,1):7 L6 V8 ]% m+ U
print(k,v)23、写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]3 }6 V0 B; `2 F' C
a. 请输出 “Kelly”
) u# S m! O/ h! ili = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
: h& [+ g. n4 Y; y0 Qprint(li[2][1][1])0 ~% d& I1 o7 u8 v
b. 请使用索引找到 'all' 元素并将其修改为 “ALL”7 n8 H4 M, K" ^2 V! z
li[2][2]='ALL') _* C5 V& ~" A( R* K Y
print(li)
) y, x% D- i& K0 B/ Z% i) [24、写代码,有如下元组,按照要求实现每一个功能 tu = ('alex', 'eric', 'rain')
% d0 D3 U* d( l6 t4 F# q) G- Ta. 计算元组长度并输出tu = ('alex', 'eric', 'rain')' x# v2 A) d% z. h: `
print(len(tu))1 |6 L5 P$ ?4 K# a( S
b. 获取元组的第 2 个元素,并输出6 ]/ T2 A, o* Y3 c* _$ `
print(tu[1])" N% d4 `- n: O8 S
e. 请使用 for、len、range 输出元组的索引' f! K( X3 }* D4 T) n
for i in range(len(tu)) :- Y0 s5 O- S! C' g! d/ o, B0 _
print(tu.index(tu))f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始); k9 l B" g0 P* A W y: y& ~+ `
for k,v in enumerate(tu,10) :
' F. }& ^, C9 O/ j print(k,v)- x% L7 n+ M, z+ ~/ @
10 alex/ {+ f4 i, z+ V
11 eric
* K. o4 C# h6 J9 v: j0 P, O. Y12 rain J F, j, m$ k+ T, b; u
V0 K8 V3 D) r. b' ]# x
for k in enumerate(tu,10) :
/ g( Q0 _% F2 k2 i w. s* Z5 v print(k)
K0 B2 j+ i# K# }" V(10, 'alex')- s( V4 A* I: S% _ N
(11, 'eric')
3 e8 r7 D7 Y8 Z% q' D$ Y/ r(12, 'rain')6 y& G [0 b# i6 X
( u3 o4 f! E5 u
2 k8 E4 M) {- P25、有如下变量,请实现要求的功能% x! J- C2 [ O- J0 d; h/ l( |
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”元组,不可以
( A7 c* K4 k) t9 u8 jd. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”列表,可以( c8 c# F6 V5 p
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])5 q: L( D: b& B2 ^4 C: H
res=tu[1][2]['k2'].append('seven')* A, Y. u; ~ f3 L/ o+ q
& J+ g- ~& ]# H! P' Y8 Z& mprint(tu)
$ p$ R5 k5 g% |6 v6 X7 o26、字典
/ n3 t) `& \3 Edic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}for i in dic:
2 U H% @4 ?$ n! e print(i)b. 请循环输出所有的 value
2 i) Q/ H: l, [. ^! ?for i in dic:
2 U+ d. n% q* H4 D Z1 k print(dic)! z+ M- J& L) H1 P
c. 请循环输出所有的 key 和 valuefor i in dic:$ e9 w* k2 T! x+ S" X" g/ `+ N
print(i,dic)
3 o8 S; Z5 c) z# [( n( U, {d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典0 }# w1 M% E1 M' f p
dic['k4']='v4'; ]# j# I$ |# [9 P" Y) L! _: A; [
print(dic)7 [+ ^' F# K9 m% T
e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典5 Z* v: X) i9 [
dic['k1']='alex') |6 r* f* s; m
print(dic)f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典
0 ? r) {, s o4 P# K% kdic['k3'].append(44)5 k5 k4 E4 h; P, l% R: i. x
print(dic)3 c8 B% x& l2 [3 \
$ r- [* S% E& W$ G; Ag. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典$ R# M9 y% k( k/ K) h8 x
dic['k3'].insert(0,44)0 @) w( I. m( Q
print(dic)4 [% ~: g! w$ c5 T/ d6 g0 C
27、转换
3 Q% h! t! o" j0 ]* |; La. 将字符串 s = "alex" 转换成列表 s = "alex"7 r0 m M4 c+ x
/ I' {3 t; Y( J5 F' v4 O; ?* F _print(list(s))b. 将字符串 s = "alex" 转换成元祖9 J; y9 k/ ^7 o# K/ s7 S
s = "alex"8 |$ A6 h+ k) T
print(tuple(s))+ }3 g4 @- j2 `6 P
$ U) D- x0 G D$ mb. 将列表 li = ["alex", "seven"] 转换成元组4 c, U1 D" W* F5 B! q/ n6 f
li = ["alex", "seven"], a& d8 u1 O6 B0 C6 n: N
print(tuple(li))c. 将元祖 tu = ('Alex', "seven") 转换成列表" d5 T R: o! j& G
tu = ('Alex', "seven")
; D& Y# y$ u7 bli=list(tu)
& O' [1 ]0 K4 yprint(li)
5 R' u5 \# V# f, \5 ~
8 J+ m8 q' z6 y$ |. S) `1 Y" _3 e8 L0 r/ Q% [8 W6 a) }
d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增0 S) ~) p. K( ^0 p$ S; z
* n- o; q/ x9 z
dic={}$ K9 w; q# S( s v8 v
for k,v in enumerate(li,10) :----li要放在前面,序号放在后面
- b- k3 _( r& c/ p0 [1 Z4 [ dic[k]=v
. J, ], j: ?/ }5 p- U print(dic)27、转码n = "老男孩". ?3 M" y& \& A6 t Q* S
a. 将字符串转换成 utf-8 编码的字节,并输出,然后将该字节再转换成 utf-8 编码字符串,再输出n = "老男孩"1 L- W5 E1 N- p8 p, Z; N& o
a=n.encode('utf-8')
$ D( ~( e' W- Fprint(a)- z4 C, w/ R; @4 }
b=a.decode('utf-8')
1 I7 |! d; W* a% ?print(b)
8 z3 b) b2 `3 Vb. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出a=n.encode('gbk')' C$ R! L( E8 t" ?$ R9 D! f
print(a)
4 b4 Q0 A; g& b* Wb=a.decode('gbk')& w! ^' H7 O6 r* z4 Z
print(b)28、求 1-100 内的所有数的和 b4 r$ g4 n% C8 s) y) Y0 r( ^
count=1
" M4 J; q: ?/ Asum=0
! x' a8 w P7 {6 d$ q8 ~( x& \for i in range(100) :) W% m) N6 R5 i: {; J4 A
sum=sum+count
0 G' e; y) \- C- [- b% ?2 r: W count+=1
0 E/ P5 k6 x0 Xprint(sum)7 l5 W0 t# Y$ U/ [: W2 ~' @6 Z7 l
0 s( [ P; p& {9 [$ K2 r' ?0 Kcount=1
, E% C, R. k4 V/ Ksum=0) A0 W5 G. p% s: A6 f
while count<=100 :3 o& ^! e' g! D$ B. i) x
sum+=count2 I9 R4 {* r( A
count+=1
( f/ i5 w( |0 k9 M' zprint(sum)29、元素分类0 o g0 ?# S! z. @( L c: G% e1 w
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,' X' |- X- [- g' y2 h- O- g- u& b
将小于 66 的值保存至第二个 key 的值中。. k5 B/ ]0 u0 j1 _6 L
即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}0 v2 |$ \: H7 Q3 u
li=[11,22,33,44,55,66,77,88,99,90]
, y. \8 v7 O4 a, W) \7 Hdic1={; a- |5 M$ H/ A
'max':[],
+ t0 V- e' M/ ~ 'min':[]
1 t! A* f1 D- u0 Y5 D& L}
; y4 A6 V% D" `- M& bfor i in li :
5 T) ^8 P, N$ l, g+ g9 g& b if i <66 :
4 x5 O% p3 m" p$ ^9 x: U6 x dic1['min'].append(i)" t% b8 v3 _, l
else:# a, q+ D" c' W3 K
dic1['max'].append(i)7 Q s# C7 L$ N
print(dic1)
9 k5 x% S- Q0 q* i$ Q! m" o- b
! C) ]: u' { C---{'max': [66, 77, 88, 99, 90], 'min': [11, 22, 33, 44, 55]}
5 O) Q# {3 O1 L0 U# b |