|
|
楼主 |
发表于 2022-6-25 00:00:03
|
显示全部楼层
1.执行Python脚本的两种方式
% Z! X, u7 A" B$ ^1)调用解释器 Python +绝对路径+文件名称8 R7 h6 \6 X- H
2)调用解释器 Python +相对路径+文件名称
V' r2 r- {2 [2 T' F$ i" ~) b0 Q
2.简述位、字节的关系
0 R, b; B" m' g' C8位为1个字节
" l; j7 x6 n3 H! I) I4 l% l" X( f: y
3.简述ASCII、unicode、utf-8、gbk的关系
' s* N! `, I7 m0 Qascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,- _) c& ~6 W1 A9 p0 q
Unicode是为了统一世界各国语言的不同,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,
; T/ s# X9 T' r5 V可以用在内存处理中,兼容了utf-8,gbk,ASCII,
; z: H- V3 E% T9 R1 futf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,6 [- A0 G9 H" I% t3 A: [0 r
gbk 是中文的字符编码,用2个字节代表一个字符,6 q# C6 @& F% Y+ L( ^: a
4 i6 }% s* ?: S1 z3 Y8 b7 {4.请写出"李杰"分别用utf-8和gbk编码所占的位数' {1 B( F5 c' E; A( e2 Q
utf-8:48位
8 Z- R6 z" N" j# O& H5 F* ngbk:32位. O% n5 W3 v, f e
3 y3 w. `# d" T
5.Pyhton单行注释和多行注释分别用什么表示?. [# A+ ~4 I8 w- w+ q1 O
单行注释:#
$ G; o8 I/ h! o* u0 o' G多行注释:"""
- o: i# T# D/ V( p3 p B' |6 Y
% W; \' L6 d- X# v$ ?6.声明变量注意事项有哪些?7 e' ?- X- q1 ~- w5 r9 s: S& u9 \
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。" z; e* }" o; @( u8 r. ^8 K
Python 不允许引用一个未被赋值的变量,否则会引发一个异常。" A# T, ~% P2 ^: D X T. |
+ s b S: q. E7.如有以下变量n1=5,请使用int的提供方法,得到该变量最少可以用多少个二进制位表示?
: R6 M# K9 h/ Y @# Q7 F: y5位 输出为0b1018 ~% ?: d5 b3 D
v2 = bin(int(5))
5 ]- c+ \; d1 Kprint(v2)
0 g0 [3 X1 ^/ \! I8 R" O3 u" R2 u: [+ B) w" w
8.布尔值分别有什么?: r+ R% q( f& R
True False9 f, L; e9 J# G- A* t# {
1 ^4 |2 n; S4 M2 q' q5 T1 ]/ U2 w6 b
9.阅读代码,写出执行结果+ T* x! q8 b1 n/ k# C0 `. d
a ="alex"
4 ?4 @6 d \( u: t6 cb=a.capitalize()
$ |, X+ Y* b; B( R5 T qprint(a)
6 F& F5 K) e" E- S2 U" d& |. jprint(b)" b9 E* ^; |: L. Z: y9 o4 `
输出结果, p( ]) }1 r+ m! `2 R3 x2 ?0 Z
alex% b8 S! z( f9 ^5 x0 K$ q7 g5 ^
Alex
2 b9 K/ E# n7 x7 h1 M4 P) d. z, a
10.写代码,有如下变量,请按照要求实现每个功能9 z4 K& }1 }9 r0 Z- A# r
# a ="alex"
n& ^1 `; F; s6 B, O+ e# b=a.capitalize()" t0 h* L$ N' B) R
# print(a)
' M- ~- X* o( g$ Z- t8 u# print(b)
0 b' I }* T& N/ Gname = " aleX": O8 P, E; E5 g$ |; k& A0 }8 }
# a.移除name变量对应的值两边的空格,并输入移除后的内容; q- [9 l2 y+ J
n1=name.strip()
. f X x3 ~4 o( u) `! Y" Gprint(n1)0 f! t8 e/ j# G" v) J: H
#b.判断name变量对应的值是否以"al"开头,并输出结果
! V7 r/ E( s7 W* n& {- fn2=name.startswith("al")
! D+ p) s7 L/ s( m0 v) S( yprint(n2)9 S. ^; Y! B8 C9 s* ^5 E1 ^- R
#c.判断name变量对应是否以"X"结尾,并输出结果
. }/ u: G O8 c0 \0 Fn3=name.endswith("X")
# H |, ] ]2 f$ I, |; ?# A- f4 Wprint(n3)( Q5 z6 Q. e8 l. d' Y0 d
#d.将name变量对应的“l”替换为“p”,并输出结果
# H" _1 r8 w, f$ t/ g9 k. O# xn4=name.replace("l","p")
" ?+ ^4 \! D1 L1 v" d7 fprint(n4)
0 w& J1 b1 |: y% p: K/ e- n6 k, z4 H#e.将name变量对应的值根据“l”分割,并输出结果# Y6 K }: r" f# z
n5=name.split("l")
3 |7 J U2 Q h+ E% C8 ]print(n5)
) i8 _: L9 U/ U" ~) | X#f.请问,上一题e分割之后得到值是什么类型
! w+ F. s4 j2 i9 ~#列表. H J2 m2 S& }& k
#g.将name变量对应的值变大写,并输出结果
4 [+ Q1 ?. |8 a% x( K9 ^ hn6=name.upper(), D7 x4 {: W' V8 s7 U
print(n6)
+ ~0 A' Z" X5 E) j, X. ^' u* d" L#h.将name变量对应的值变小写,并输出结果
8 a1 x9 u' y( t! s" Rn7=name.lower()& m0 D( G& ~: C
print(n7); p: d2 H. {. p8 Y6 I- V5 f
#i.请输出name变量对应的值的第2个字符
2 e- q8 v6 @, M& P; i! mn8=name[2]
7 H$ ~6 ]+ ]( Y- Z1 Xprint(n8)- C5 X, ]3 ]0 B+ n# @" [6 Y: A% ?
#请输出name变量对应的值得前3个字符
& ]- j5 V& L8 w# z; ?' v4 Qn9=name[0:3]
+ u' s k- D+ T3 P2 ]/ Jprint(n9)' C# \9 g' Y" G3 n! K; B5 [
#请输出name变量对应的值得后2个字符
( Z( V( m7 Q+ P9 B1 q0 } `3 [n10=name[-1:-2]
7 l5 Q" U! {( x4 I% ^/ x# [8 iprint(n10)( O- ~6 t: a3 Y% G5 \4 Y) l
#请输出name变量对应的值中"e"所在的索引位置
- o9 i$ O( `- ?! H3 j( Zn11=name.find("e")* n+ O! n* `2 x% p; l+ w" @
print(n11)/ ~7 m0 d/ ^2 u) ~ P, }
#获取子序列,仅不包含最后一个字符,如 oldboy则获取oldbo;root则获取roo
& w3 c! O5 R) r9 q0 @7 T. Mn12=input(">>>")' W( e# C- x9 v" g# m
l=len(n12)- |% A4 p! c D1 K9 z5 \
n13=n12[0:l-1]
# N7 q3 _+ Y% K; J6 V, Tprint(n13)! t d) A8 J/ s2 i# |" w/ q7 w
0 G5 a! n+ @9 k, @0 J+ ?4 E
21.字符串是否可迭代对象?如可以请使用for循环每一个元素?
' j3 K( _8 V: e* ^2 c) W3 a字符串可以迭代
) r. ]2 N- U9 G$ Z; D#将文件按照索引打印出来7 F _! l: w/ _" G" i
test = input(">>>>"). @# Z! R1 z& O3 I1 @
for item in test:
& {& L( K M; n. ]* ?/ |) m4 cprint(item)
8 {4 L; s% _4 s# i+ K
b; S1 P; ~* q7 i7 x* ] m22.请用代码实现
7 R* u) h" b6 b, ]+ y' K! K# a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"( X" N7 W6 r) f4 u h& R, ]3 y# e
li=['a','l','e','x','e','r','i','c','r','a','i','n'], t' Y& ~2 y$ ^# v
li1='-'.join(li)
" Y5 k. c) t3 Jprint(li1)4 i ^/ S' j# q/ W* g
############################################################################9 ]. I& s& ?9 j+ I6 j- }
# b.利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
! b8 L% v( y: H1 b+ N: J7 G! Q$ kli2 = ['alex', 'eric', 'rain']0 X9 I3 k2 Y% u, e+ Y9 R
li3=''.join(li2)
( H1 _- \' x) o2 j! J2 D; Pprint(li3); w6 u% u9 ?0 S" `5 F* U( d
############################################################################$ X: l# V$ T. k7 }, U
1 h8 D2 v6 b4 Y# `/ D* g* Y5 o* D23.Python2中的range和Python3中的range区别
9 }$ w& S# _+ ~Python2中的range会直接在内存中生成序列
# j5 m+ b) v6 h" t% S4 K: WPython3中会生成一个范围,实际上节省了内存空间5 B5 ^# E5 Q$ [
) Z9 f6 Z e+ w
24.如何实现一个整数加法计算器,如 5+9或5 +9或5 + 9
6 h2 u" w1 n. A9 @( Bcontent = input('请输入内容:')7 L7 w% B& W% a ?
print(content.replace(' ','')). z: D2 J% @" ]( @. {- Z8 m% w
9 Q% R8 K- c' L/ w N: ~+ q
25.计算用户输入内容有几个十进制小数?几个字母?
' _3 ` z7 I: D z8 L7 y/ Ocontent = input('请输入内容:')7 v4 ]+ K2 {( u# H E) [
import re4 T/ B5 w1 V% Z
#字母% R2 w# ?3 K# [; A% w( ^
y = len(re.findall(r'[a-z]',content))1 U* s! ?2 r6 H/ u* T. e
print('出现的字母个数为:',y)
! f3 w- Q& A2 _8 ]2 W) G6 G#数字
. G% M, J; [ G6 Kz = len(re.findall(r'[0-9]',content))0 O8 B9 T; `+ C. L/ ]2 e
print('出现的数字个数为:',z)
. V5 L6 Y8 |( G6 L5 B1 M; T& c" i5 P
26.简述int和9等数字以及str和"xxoo"等字符串的关系
* j9 e \7 c# C5 L4 t; Y类和对象的关系
( _- X1 U& v% {$ c3 B2 A
3 a3 `4 i7 y" c) l M9 q27.制作趣味模板
% {4 z o8 I0 j- i3 `* W L- d5 m需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现2 W, z" ^3 B) `( {: V( @
test = "敬爱可亲的{0},最喜欢在{1},地方{2}"
# C; a* ^5 G0 f8 @* F1 I9 @" Aname= {input("输入名称")}
- L3 |2 k; I' p/ F. s, Fplace= {input("地点")}. Q3 I, A: p, r
doing={input("事件")}
+ p* k' Q" |: I: v+ f5 rprint(test.format(name,place,doing))! @+ Z/ e1 B+ i2 s% _7 l' U3 g
@! J+ Y, } ^28.制作随机验证码,不区分大小写
. g. X! X/ H6 @$ Z2 O$ j####################################################################################
: O* {. Q7 x; n0 {6 Y# def check_code():5 m# P3 k- p* I$ x& w; M/ }9 l9 K
# import random( a5 K* g& C* p+ W+ p& T
# checkcode = ""
1 Q/ b9 ]1 M. ]9 G' m# for i in range(4):
1 E+ d+ b2 D) J+ v' j3 ~1 }# current = random.randrange(0,4)
) a$ j; U- `! W4 y# if current !=i:1 Y/ p: Y9 |& J
# temp = chr(random.randint(65,90))+ b8 V4 r' I: U; l0 ^( \
# else:
0 J* z' L X2 j9 T- e- T- F8 W; R# temp = random.randint(0,9), x9 A+ f7 D; m# B f9 T
# checkcode +=str(temp)
- R4 d( P* t1 f0 M J+ ]# D1 n# return checkcode()
/ `8 H& F& k2 F; H) A& Y4 p8 w# while True:
: S+ w4 _8 E& r( @" \0 {# code = check_code()
3 Z$ W0 I- _9 S4 J( `# print(code)+ W Y$ p- M+ t/ F* l3 P5 c
# app = input("请输入验证码:")* p& r2 q: ~" t/ S: o
# if code.upper() == app.upper():
* N$ l# }6 @! \8 o+ k, i4 t0 Z# print("输入正确")
% C1 A3 C/ ]2 A2 @% x/ O' U# break
; H3 U( i; |. N( Q( h) i( |! c# else:
5 s4 v! l/ S. H+ t7 z4 u# print("输入错误")
: w& L4 m$ k6 c6 m" R- b& }% y# s = input("是否重新输入?")
* L7 t# @- j6 J1 v8 f# if s == "no":4 h t6 G3 ^7 d9 p/ a
# break# P& y# U) [/ G/ h9 r4 X
# else:
7 P1 p, j* F& q3 {/ D% Z# continue
8 L& q+ H% o1 t- U############################摘抄至网络#############################################. o8 W: r% N' Z6 J6 r
# n( m# m8 |8 Y* }" [29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入内容中包含特殊的字符:“苍老师”、“东京热”,则将内容替换为***5 X) m8 y3 v6 I) `7 z. ^
v=input(">>>")
8 j% r/ D% X- [$ {v1=v.replace("苍老师","***")
1 u( B' L8 `. R2 z1 }, E$ Gv2=v1.replace("东京热","***")9 E6 X1 s C3 {; ]% _' G& }* m
print(v2)
5 I0 z0 Q5 i' x* I }/ F0 O/ S3 k( K# K! p4 A' u6 }
30.制作表格0 S& I1 C, ^2 M
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)
- Q! z; T0 U `/ t" S, J如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式显示。
* Z/ }6 X4 R6 J, N3 h; r
9 e$ t- {- W# K$ o* z8 {s=""( [$ q' s$ m6 K' x; o
while True:3 H0 f. y' N) B& ?
name= input("请输入用户名:")/ k4 c" W7 s6 n8 e+ C% `/ Z' a8 d
if name =="q"or name=="Q":
% Z4 C, B c9 ~8 E; tbreak! w \8 x! K9 G; c
if len(name)>=20:
0 M; }6 K9 o ~name = name[0:20]
# X' {0 x% i% K- Epwd = input("请输入密码:")
7 s7 `8 x3 B/ `. X+ n" J5 B3 B+ yif len(pwd)>=20:) U! C1 u0 |0 x6 q* Q! I
name = pwd[0:20]" \3 r) f( ~% _3 W7 f
email=input("请输入邮箱:")
6 R9 m$ J2 j6 F- {3 J/ Uif len(email)>=20:- ^- _4 e1 ~, @$ A' m2 A. Y/ n
name = email[0:20]% W4 B, q& H) _% J8 o8 N
template = "{0} {1} {2} "
|% D5 U" t# t7 l3 x2 |& nv=template.format(name,pwd,email). l4 L, |& Q L2 f+ ]
s +=v
1 ^4 t* h9 M9 v, Vprint(s.expandtabs(20))
* @$ o2 Q# e3 Q5 m' v: a8 t7 G) y, x* O4 o n' c
Win a contest, win a challenge |
|