|
|
楼主 |
发表于 2022-6-25 00:00:03
|
显示全部楼层
1.执行Python脚本的两种方式# X* W5 ^- E+ h) G0 v/ L6 U
1)调用解释器 Python +绝对路径+文件名称, R$ G, q- o6 F& @6 }
2)调用解释器 Python +相对路径+文件名称
, [, h! s8 s, m: t- n. _% }# M/ B0 ^& f6 Y
2.简述位、字节的关系0 @" A5 p3 O/ q1 W% r7 |4 @
8位为1个字节* ?9 t; r4 W9 d, K/ V
# d) }* B3 K( [! b/ y8 h
3.简述ASCII、unicode、utf-8、gbk的关系# S9 v' F& @1 _* f
ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,
) D7 k" I1 a0 v4 u6 U) MUnicode是为了统一世界各国语言的不同,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,6 R0 F1 G9 S5 d' N
可以用在内存处理中,兼容了utf-8,gbk,ASCII,
9 \: } L8 H: n5 V Kutf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,3 w z. _/ c% Y, b4 \
gbk 是中文的字符编码,用2个字节代表一个字符,) ^4 c5 {6 }% ]( ?
$ m+ B2 n, T. H1 H; i. m1 C
4.请写出"李杰"分别用utf-8和gbk编码所占的位数
+ m* k: t! b/ n9 I' ]utf-8:48位' W6 h0 q) E. I% F3 Q
gbk:32位" t6 c( s/ g* r
+ [ Q K9 y" ?; R1 Q* C
5.Pyhton单行注释和多行注释分别用什么表示?
" J' T& F- p' l! O# F8 ?1 S/ s+ S单行注释:#
3 K! \( b" E$ a- x. w$ Q; S5 h多行注释:"""
7 s: i: d8 `2 D0 H4 H/ A% l* u# s% b: E, m- V! f! s" W
6.声明变量注意事项有哪些?
1 k% N/ \3 o3 ~: r i3 h! QPython 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。
7 u0 `* H/ ]$ V( h% w1 b3 @( _- DPython 不允许引用一个未被赋值的变量,否则会引发一个异常。
2 r8 N0 r& X& i" V
3 r& [$ A1 U( d. b5 ]# E6 z0 d; X7.如有以下变量n1=5,请使用int的提供方法,得到该变量最少可以用多少个二进制位表示?
& U0 i2 E+ T0 j$ y; K, e& C5位 输出为0b101& F B* c) Z; A2 e5 t" C
v2 = bin(int(5))
" q; y" j* U4 ?9 Hprint(v2)" b% s0 A- `' Y1 J, u. g
. j4 L/ r* P( H! s8.布尔值分别有什么?* Y9 a' p1 L8 A( {+ K4 u7 S
True False- g' u' x. i! g5 E! \: \$ ?1 \
6 [5 {* n' P/ e8 a, [5 {! T9.阅读代码,写出执行结果! l2 Q9 q+ n$ J9 m# k' z: |4 y
a ="alex" Y; k$ T p5 H3 r6 V- C( r
b=a.capitalize()) K% x4 N& u/ j3 K: h* w
print(a)
* @1 j: ^. W i+ l: `. U2 Gprint(b)
8 K3 d0 I( O+ g# A" R. F# S输出结果* I+ i( y9 s, t" c2 h! g; X: s
alex) W, D# j! x' g, Y- H+ M
Alex0 X* Q; u* j* V$ a
# z' C3 x: u( Z) J& h/ {10.写代码,有如下变量,请按照要求实现每个功能8 f( |: Z. j2 x# s
# a ="alex"
8 U" j% x& e' T* W& `1 Z% G; M# b=a.capitalize()9 r. _7 M/ J. k. Q9 v, o/ i: A! P
# print(a)
/ n, w/ y" p' _9 W0 i) |; X$ y# print(b)4 f" x0 T! W) ?) u4 y% t
name = " aleX"( _: E( t5 p1 x1 v
# a.移除name变量对应的值两边的空格,并输入移除后的内容
`; P4 d7 ^& ln1=name.strip() S1 P/ D" x L
print(n1)' b% O2 S. p1 c- h
#b.判断name变量对应的值是否以"al"开头,并输出结果
7 j8 r1 X# ^0 ?% e! `+ gn2=name.startswith("al")4 k) l, V" T m* m" n
print(n2)9 o# x# r) o, v5 Z0 S2 D
#c.判断name变量对应是否以"X"结尾,并输出结果
+ H) t/ V' M- ^: L9 k6 e0 A0 |, Yn3=name.endswith("X")
7 ?" ]5 ^, v; W& \" wprint(n3)
& |5 V, Q* h: X k0 e#d.将name变量对应的“l”替换为“p”,并输出结果
8 i6 t0 y/ e1 [* |n4=name.replace("l","p")
9 k! ?( c- M$ p. T& k: xprint(n4)
1 z, [: r" U( D+ M& h#e.将name变量对应的值根据“l”分割,并输出结果. I, k* a# [6 l
n5=name.split("l")
0 m$ H5 O% i+ I$ P2 V7 `" a0 f9 Aprint(n5)
7 k+ S% d* L+ S( S/ |2 n#f.请问,上一题e分割之后得到值是什么类型% ^8 c7 q. d$ W$ e
#列表% k2 Q, s( m4 z6 _8 J6 W& `
#g.将name变量对应的值变大写,并输出结果
! V% h/ X a+ n3 S) un6=name.upper()
# w& H5 I; y G% [. Oprint(n6)
0 }" ^! q8 D. i0 S' m#h.将name变量对应的值变小写,并输出结果
% P; @, f1 U2 ~% x% d( L" j; _n7=name.lower(), T% @! a6 A' }5 `, b9 T
print(n7)% V0 O7 Q5 Y; Q2 T# v" Q6 Z
#i.请输出name变量对应的值的第2个字符; f4 @8 a* L5 |/ d
n8=name[2]
: V0 K( i& \* t- w. W# f8 oprint(n8)
% Y: w6 B- ^1 g) }#请输出name变量对应的值得前3个字符
+ w1 k$ C- [0 c0 y* Jn9=name[0:3]
0 t& @( R& b- \' a" j+ Kprint(n9): c# l! B- c$ r5 M9 A$ L' O( ~
#请输出name变量对应的值得后2个字符
W0 Z6 D K2 mn10=name[-1:-2]
" g7 b7 J4 x- [1 K: v$ v# Eprint(n10)
% f$ e% F4 E& I. f#请输出name变量对应的值中"e"所在的索引位置& W* f3 w0 |' }8 p8 w
n11=name.find("e")
$ }2 o E$ n9 @+ m. E/ _" ]print(n11)$ L& d4 \+ n3 N! w
#获取子序列,仅不包含最后一个字符,如 oldboy则获取oldbo;root则获取roo6 X3 \- \1 c' \6 O9 R, T9 g3 R
n12=input(">>>")
/ h3 P9 D' y _! Hl=len(n12), N/ m4 q& n: P" t' C
n13=n12[0:l-1]+ D8 U, ]& b; y/ d
print(n13)
O+ Z8 ~8 e7 U/ K6 c* L8 `
; T/ U( F n4 H: @% p21.字符串是否可迭代对象?如可以请使用for循环每一个元素?: a: ?; w. ?* q2 U- X: s) r6 O( k% \
字符串可以迭代
( r% Z: n: v5 b! T#将文件按照索引打印出来0 ~/ a, m/ u& v4 a7 k, V0 S. r `
test = input(">>>>")2 k1 ^7 n* Z2 V+ R2 o; x9 O9 R4 E
for item in test:1 r* t% c; R. ^! }5 L- F
print(item)2 V! Y" H! g8 _/ O% {
1 ~5 g: \+ Q- e% C) O0 t; e
22.请用代码实现
" C, h+ r! W0 p! n# a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"; H7 x# t! y- E9 y) l
li=['a','l','e','x','e','r','i','c','r','a','i','n']
$ K) {- D# y8 t! o M& _7 oli1='-'.join(li)
. v; z4 e! y8 B+ @4 |/ i; U) rprint(li1)1 f9 R4 `: W/ z0 P( j) y2 h/ x
############################################################################
/ W, ~ D, Y- k) q0 \, {6 [8 S% s4 C# b.利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
- K0 I" {& y8 u& b! D9 @: Kli2 = ['alex', 'eric', 'rain']5 Z2 I; _2 {( Q. B& l
li3=''.join(li2)# Q" M, w' k4 X0 n4 Q, M, [2 k
print(li3)
/ q5 v: G- d4 u; }0 {% n############################################################################, l) ]% o: t; d/ D* h1 w
! X" i3 M* ~3 [- y. t. B0 j23.Python2中的range和Python3中的range区别
# j7 ?" B- Z" _$ c( X o0 A$ ]Python2中的range会直接在内存中生成序列
* x9 b+ z! _- dPython3中会生成一个范围,实际上节省了内存空间
/ v. B8 u7 E9 e: T5 Y+ d
4 o l+ a6 C5 L+ u, e24.如何实现一个整数加法计算器,如 5+9或5 +9或5 + 98 P5 V9 A, @; o0 p; B$ k, @
content = input('请输入内容:')
# d( v3 f$ E9 {, wprint(content.replace(' ',''))
* a' @7 ]9 j! ^5 N
! p$ h1 [$ W6 R. U$ d25.计算用户输入内容有几个十进制小数?几个字母?1 F7 T# j; P: u; P7 `% ?
content = input('请输入内容:')
- a6 w0 f5 s5 gimport re0 h0 u0 T6 O7 }% s- p$ V
#字母( O! q: |; N0 e5 \9 A4 G+ U) H" _+ j
y = len(re.findall(r'[a-z]',content))
- ?( j; f' U2 {" j! Rprint('出现的字母个数为:',y)
" P4 ^# ^2 u( ?$ W#数字+ X$ O7 b# Y* w* U
z = len(re.findall(r'[0-9]',content))
4 N4 W0 e( w& C7 S J# Jprint('出现的数字个数为:',z)0 W: [1 a/ [4 V
0 T W5 f$ [& K1 T( r/ c
26.简述int和9等数字以及str和"xxoo"等字符串的关系" [# \1 l+ U& U3 u7 y
类和对象的关系
8 W* n% O1 f" v4 W& ~& g
; Y2 U) {0 f! Z- O; \27.制作趣味模板, @, D: z5 x) L8 n
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现: r% N% u* U5 T% Y6 G8 l0 G
test = "敬爱可亲的{0},最喜欢在{1},地方{2}"8 W7 v: F* J* g0 C' S
name= {input("输入名称")}
& g) S3 g9 Z4 D/ |) I/ Jplace= {input("地点")}
, J) H. v' ~' z4 idoing={input("事件")} B1 O0 p8 X5 \3 f1 _$ C4 X
print(test.format(name,place,doing))
/ O( C5 @$ I6 [0 M" {$ f) k* d" L5 i& E, v. x# M, z: c+ F, H( r
28.制作随机验证码,不区分大小写
1 I4 A2 B* D6 F' c1 u6 {( q####################################################################################
: m7 ` Q2 |0 P- ? {# def check_code():% x+ d1 i" F) T+ E! V( B; R
# import random
$ g) j8 _0 {4 l) `% K! }# checkcode = ""6 u4 J. M }- d9 \
# for i in range(4):
6 H) x4 @1 U# q+ @) f9 ~8 q# current = random.randrange(0,4)
' u9 x# E6 i- l6 g/ P% w% m# if current !=i:- [ {% g/ S1 P' L7 u5 r
# temp = chr(random.randint(65,90))! |( z/ \5 s, C4 ~, {# t" Z
# else:
2 c) T. f$ i5 Z% C1 Z9 q# temp = random.randint(0,9)8 S' O1 G0 u: y% ~6 e2 G
# checkcode +=str(temp); J' T6 d: o) r5 C( N) U4 z5 U
# return checkcode()
. c/ b' \) D; m- D, h# while True:
/ v; |9 H% c4 j% u/ b# code = check_code()
" _9 f" Z/ z3 O) h3 [. I7 C# print(code), A, m5 o& V$ d- s! k$ w. [
# app = input("请输入验证码:")
) H# V7 L6 _9 n# if code.upper() == app.upper():$ u1 N0 i5 R0 Z
# print("输入正确")
* B; B' [6 C7 U! b# break
) V% _+ L3 c) d; F* Q* M# else:
: B+ L4 e+ u+ U: O# print("输入错误")
* _: w8 _) c$ S) d- g5 k7 _# Q8 o# s = input("是否重新输入?")
) k" x" C, t+ ?: M# if s == "no":
! B3 B& v+ Z8 G, H4 G# break
" Z# j( B Z; S2 H# ^# else:
# V6 H& q& S: i! C T# continue
, y: }% |( p3 `############################摘抄至网络#############################################
5 E6 S: n2 f- g1 q. U4 }. v! n- h s5 _ J
29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入内容中包含特殊的字符:“苍老师”、“东京热”,则将内容替换为***
: {/ Y5 M7 a5 v; t$ I2 o6 vv=input(">>>")& A1 f$ \/ U. ^6 a
v1=v.replace("苍老师","***")2 t, Z/ n- s; j5 a
v2=v1.replace("东京热","***")4 a, T2 x* j: Q% K3 i
print(v2)
' A& H0 Z) }& I- `1 |, _1 L% C( q' B5 U( i" C5 D# \
30.制作表格5 ?" J( v7 r* b) Z% X
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)" G. ?7 u6 J/ E$ n, f
如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式显示。' E& M: P) }0 x7 V' h
3 m3 ^! k/ N$ ]# \
s=""
/ {4 C5 `% i& h2 L. \% B2 Wwhile True:0 \/ M3 q1 A5 L. b" q; b! {
name= input("请输入用户名:"): `9 T6 Z: o9 z8 e
if name =="q"or name=="Q":
) R$ c- u5 C) U5 Fbreak9 {7 d: D. q1 r( d3 W( f0 n
if len(name)>=20:; z9 D" {% j/ E. j
name = name[0:20]
* J6 Q/ a# n! R& ]" y. T. `pwd = input("请输入密码:")
I8 H3 a4 J! t# Kif len(pwd)>=20:3 @& _6 A3 l) A% v2 Y+ F
name = pwd[0:20]& r; O, S! H6 t) X4 N2 |
email=input("请输入邮箱:")
% c4 w, x+ \% k* X/ `/ s) P2 Pif len(email)>=20:
7 E. M$ N5 A3 P3 K# ]( ^name = email[0:20]
1 h3 z: H. {- ^2 y( ntemplate = "{0} {1} {2} ") z$ T! A9 u) q: S$ a4 e
v=template.format(name,pwd,email)
5 g! u( \ Q$ i# {s +=v$ x# {9 P" Q! A5 E
print(s.expandtabs(20))9 c T9 ?2 | z4 d+ B$ p5 F+ I
/ e% Y3 K' ]: Y b7 C% xWin a contest, win a challenge |
|