|
|
楼主 |
发表于 2022-6-25 00:00:03
|
显示全部楼层
1.执行Python脚本的两种方式
; O$ R- v2 M! I1 b: [3 w6 ]1)调用解释器 Python +绝对路径+文件名称; d1 A2 ]/ f- @5 |9 s! i
2)调用解释器 Python +相对路径+文件名称+ n# W5 k% y, H) |
+ r5 h) {- `+ W# a5 K$ @& l
2.简述位、字节的关系/ f$ Q8 b1 d4 T/ E0 w
8位为1个字节7 z7 N& I- k+ j3 }/ ?1 R
4 D5 e) l9 G" d: i& v( f3.简述ASCII、unicode、utf-8、gbk的关系2 ?! h! T, u) Y
ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,
0 m% e7 { _9 @4 C' Z- j4 u$ k8 @Unicode是为了统一世界各国语言的不同,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,! @8 I3 D' H8 A- D; \
可以用在内存处理中,兼容了utf-8,gbk,ASCII,
& `2 ]2 v; U) h; o$ outf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,
! E2 O5 d4 T" @1 b+ U. A4 _3 Pgbk 是中文的字符编码,用2个字节代表一个字符,
# [. [- e4 y9 K& Z. e8 b( E+ S, B* j. X, b/ ~, W
4.请写出"李杰"分别用utf-8和gbk编码所占的位数
9 u; ^7 h, E+ H) L/ j6 }utf-8:48位
# C' S( z: W5 Ogbk:32位
; v% g; l- k% D& _' q7 L d3 _1 h2 e+ F2 ^. U
5.Pyhton单行注释和多行注释分别用什么表示?1 e. m) d9 X$ P* O* @1 p
单行注释:#
^2 l6 f2 X: E5 W* S" D0 i. v多行注释:"""
; I: o: u: f! g0 N2 B5 H ?, W( P" K7 ]* L' p
6.声明变量注意事项有哪些?
/ v! b; b# }+ S8 NPython 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。
, r4 X4 ?0 z( ~7 e, m% _Python 不允许引用一个未被赋值的变量,否则会引发一个异常。- Q w1 |+ F' \6 {! o; \8 |% y2 d
6 @; F! c. p, w) c2 |7.如有以下变量n1=5,请使用int的提供方法,得到该变量最少可以用多少个二进制位表示?
Y; o: j4 \7 \- O. ?4 a+ ]5位 输出为0b1015 ^; A/ F1 P# s3 m' N
v2 = bin(int(5))1 o7 L! t, ~. G; X1 G
print(v2)3 ~, ?( V5 h6 X( q4 N- E
1 Z1 ?. c! S5 c6 W
8.布尔值分别有什么?
( C& `& D& z! I5 U- {2 V, y/ GTrue False$ ]9 X* M( ` i" f1 ~
) k* a; \- g8 {; M- ?, b9.阅读代码,写出执行结果. [+ Q, ?" ?- o" ]
a ="alex"9 K7 G; h$ O6 z( s& ~6 L
b=a.capitalize()0 K9 G0 U" q% v x% d$ l
print(a)
8 r- A9 w# B: [5 `) R M+ }print(b)
* `# R5 l* Q0 C输出结果
: f1 E4 r4 e( o. t3 V9 yalex
# T" U( l" R$ y2 oAlex: y4 @) m& s% c" d/ m
' K3 S# b) U6 H10.写代码,有如下变量,请按照要求实现每个功能* K8 E9 q) f% `* D% o7 t
# a ="alex"
0 F& q% n5 u% I& E! I! y' z# ?# b=a.capitalize()8 f2 J! H( v& C3 l
# print(a)
; z" I3 R) M$ \8 {# print(b)5 R: I# K6 } `. L
name = " aleX"
3 p4 U: Y# z& Z! B# a.移除name变量对应的值两边的空格,并输入移除后的内容% ]. Q! J2 w+ L4 V8 ~4 x6 {
n1=name.strip()) o N0 N: }+ n4 i: x
print(n1)" T! s* e5 }$ b6 e9 [9 V6 ~$ t0 j
#b.判断name变量对应的值是否以"al"开头,并输出结果
: P5 X# [. {! X7 V# F! J; S7 x: zn2=name.startswith("al")
7 _' m6 n# m1 X3 }" n( kprint(n2): b7 K: q% B( C; U! |( o
#c.判断name变量对应是否以"X"结尾,并输出结果0 i ~! ^0 k7 ` K3 ]# Y
n3=name.endswith("X")$ q( l! R' v0 U5 x" W* A) z
print(n3)
% e' u0 N8 ^: G7 L6 @4 _2 U#d.将name变量对应的“l”替换为“p”,并输出结果( h5 W+ }4 v/ t' K
n4=name.replace("l","p")
0 v$ ^* \/ @; s+ Y! r/ Yprint(n4)
7 K# q+ w Z* u+ Z#e.将name变量对应的值根据“l”分割,并输出结果5 T" |4 C) X! k0 R ~" X$ @6 i
n5=name.split("l")
! t9 b) W; C o( g" ^/ Kprint(n5)" t, X0 P: D; `7 R1 y
#f.请问,上一题e分割之后得到值是什么类型& |- k7 l3 B- x
#列表
: i& T, |" C: }& e) |0 b& B* y#g.将name变量对应的值变大写,并输出结果+ n+ u% i% K/ O& M5 P+ l( m
n6=name.upper()
: s( w; R w2 `+ Bprint(n6), X- ^ i- w8 a5 D5 M
#h.将name变量对应的值变小写,并输出结果. l4 s$ Z$ ]9 W2 N& s) K: Y# z, `% Z
n7=name.lower()4 @, l* C0 I2 v# H+ W1 e
print(n7)6 S; b! n: ~/ Q1 u$ u% V9 `
#i.请输出name变量对应的值的第2个字符
% k# D* f( W9 I3 ~1 t- \# _n8=name[2], @- b6 c. F$ l+ y8 C. z& J
print(n8)8 G# W* \6 ~) j4 M C! \
#请输出name变量对应的值得前3个字符
9 O2 `, H; v2 p8 vn9=name[0:3]6 V. h( c. L p3 ?
print(n9)
" }2 ~- L) l* h- n. T' U! X#请输出name变量对应的值得后2个字符
. E" Q1 X3 g, o1 d: s9 In10=name[-1:-2], y& P h+ H2 J( H( r( G/ X
print(n10)
5 e4 `5 w6 I' g" {#请输出name变量对应的值中"e"所在的索引位置
" F" Q/ k; F+ @n11=name.find("e"), t8 L, T- ^, f& W. [* ~* X+ J! j
print(n11)
, u' d& |, O0 _1 ~6 c9 L#获取子序列,仅不包含最后一个字符,如 oldboy则获取oldbo;root则获取roo2 H( t8 T: j' R7 ^& k" c
n12=input(">>>")
# Z! D$ h3 _0 p) c, Cl=len(n12)
# ~7 [9 X1 y/ R) d8 S) On13=n12[0:l-1]' t* i, |* V+ u6 f5 E! }8 \
print(n13)
+ k% A5 d$ f2 i1 O1 A
- V( I7 i$ t9 ^) ?( F1 `21.字符串是否可迭代对象?如可以请使用for循环每一个元素?
; R- T3 C5 W2 C2 q4 z+ d字符串可以迭代
! E- C7 j6 P1 I* R- m& J/ `) U$ `#将文件按照索引打印出来" @0 g. b0 J$ f& e" i
test = input(">>>>")
& t, v; r5 ^" {for item in test:
" R5 {% f* c6 e B; eprint(item)
+ H `4 }1 y/ H6 \) @1 e* ?
$ Y2 b2 H: L8 ?" `% B4 I22.请用代码实现0 R' H' W) V1 T
# a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
- p/ I! P9 W( S% Wli=['a','l','e','x','e','r','i','c','r','a','i','n']& \2 i: E! n5 f8 Z
li1='-'.join(li)
' @- l5 M5 T/ H9 ]4 L* Wprint(li1)# t1 u) e/ y+ K- H9 [* A0 U
############################################################################
* B7 b# i. C* ^' j, U# b.利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
k. q( P% _* O* ]9 G) d) bli2 = ['alex', 'eric', 'rain']
" l9 I8 I% X. d; f9 lli3=''.join(li2)
# y5 U8 C! g+ I! ^- n/ _" Iprint(li3)
4 M' K( Z* O& k: a, ?############################################################################
7 O% h# B; W' s4 F4 A
! @; u* _$ C6 g6 y; H23.Python2中的range和Python3中的range区别6 d% M1 R% C8 H+ Z" q
Python2中的range会直接在内存中生成序列, c+ r: c3 k2 O1 o0 x/ N' H
Python3中会生成一个范围,实际上节省了内存空间
% x5 M( o2 o5 w8 T. A" T5 q: D9 g& h+ ?2 g' @
24.如何实现一个整数加法计算器,如 5+9或5 +9或5 + 9' e/ }( K9 B! f1 j K, h: a) q$ e
content = input('请输入内容:')- q$ v: z3 Z" G U
print(content.replace(' ','')); \, E8 R( w7 N. `& S+ A! F
& t3 J& N' k% ~1 t n
25.计算用户输入内容有几个十进制小数?几个字母?1 X1 q5 y* @! H: ^; |) p
content = input('请输入内容:')$ [% _8 G# H; Q7 Z( A7 C6 Y
import re& I# c0 @' v0 n
#字母3 p/ w M" ^1 L7 r$ d9 e
y = len(re.findall(r'[a-z]',content))
# `/ @' ^7 l& y& |# n/ oprint('出现的字母个数为:',y)
2 Z R4 }; m9 |& i9 o5 l2 z#数字# @5 n+ z. _) `% M; C; i
z = len(re.findall(r'[0-9]',content)). q& Z) @$ I% q- p g2 C
print('出现的数字个数为:',z)5 n1 m7 J% O4 a; T
. v) u- g. _$ e0 V; [9 r26.简述int和9等数字以及str和"xxoo"等字符串的关系
F. n* O$ v- U& [% m类和对象的关系
, j" Q v( g5 I/ \( H0 d0 L0 ?4 W4 L3 u. |. j" m8 w9 _
27.制作趣味模板# K' b9 Q9 D, _ W! B8 P$ o
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
X2 P$ q) M# ~/ u# wtest = "敬爱可亲的{0},最喜欢在{1},地方{2}"1 ?0 S- r6 T8 }
name= {input("输入名称")}0 h* l' \- _7 F# v$ \& k6 `
place= {input("地点")}
9 t! _( U$ r6 S4 bdoing={input("事件")}
- D5 ^3 H/ K# x) Z. {print(test.format(name,place,doing)) {$ B7 o5 ]7 [
. B2 \0 U! D" h: u$ q0 [
28.制作随机验证码,不区分大小写* w6 @! X: E) d
####################################################################################$ X" O& ^' M' L- D
# def check_code():
& N6 W) O$ B+ W8 b% O f. M# import random- n' ?8 K) Q3 S% N7 i
# checkcode = ""( v- L/ f$ q; i2 [1 f1 d9 _
# for i in range(4):3 W9 S; F; f% R
# current = random.randrange(0,4)
, p, J& r1 }* s0 l* w, V1 N5 S# if current !=i:
6 O2 O$ f3 D r$ K" v# temp = chr(random.randint(65,90))/ L* a3 p: A' v' G) D" w
# else: s9 i9 Y/ o9 N" G% j8 ~) w
# temp = random.randint(0,9)
( m: f( _3 X6 n- ?( j# checkcode +=str(temp)
- k" e# n4 q4 u$ L) v8 {# return checkcode()" f( d3 F c: a+ i% E) d
# while True:
. U2 z% u( \% | N/ q# code = check_code(), D4 J r3 T6 |
# print(code)
' c# `, A' j7 [) Z, y* J h9 d9 n# app = input("请输入验证码:")( g/ v9 U" B' d( H
# if code.upper() == app.upper():7 ~& B9 R, r" ]! ?' v& a
# print("输入正确")9 v! p9 s! M1 b* J
# break1 Z5 Q8 X; o& |/ |3 Q: a. y5 v
# else:
! @* L2 l- s1 W# print("输入错误")
" b) m& _ C2 S; l- N# s = input("是否重新输入?")9 u: f: T$ W! K; f* u7 o
# if s == "no":, F& |$ L: o- | G
# break$ |; Z$ U! S+ H' E- M) V( s5 d
# else: ^& \/ }! P0 K/ X- I
# continue; s6 R6 B( S3 p: `) \# l
############################摘抄至网络#############################################( P/ y+ R+ d4 i4 ~- t# q% _& w4 ^
- b$ ?0 E, `1 U0 P& X4 q8 L29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入内容中包含特殊的字符:“苍老师”、“东京热”,则将内容替换为***+ z+ ]3 J* ~' f3 x5 B) W
v=input(">>>")
, m3 T$ ^$ V* g& D9 {$ k" { mv1=v.replace("苍老师","***")( g+ m% y' H, y7 @( ^" p
v2=v1.replace("东京热","***")! Y! V9 c7 |0 w# \- l; o
print(v2)
T2 P# N I7 j. P9 G) R4 T/ g: [! U8 d# w
30.制作表格; ~% C7 J6 f# k- k: [2 l# ?) @0 K1 s
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)
5 G6 a1 }8 \$ |如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式显示。
5 }% [9 g0 B1 U. P& c, ]
6 ]' I6 P& B A# D- ns=""
/ w9 u) P" h- U! o, J4 y* j, I) awhile True:
5 z- K9 v, b5 L6 R4 W; K! U0 t# Cname= input("请输入用户名:")* o$ j+ x1 A7 G, w( {' C& F6 Q" c
if name =="q"or name=="Q":. D! e, d: T; P' A# h( E; H
break
; T2 R+ h" W+ t) xif len(name)>=20:
3 e" r& J$ |. S# d% ^name = name[0:20]
/ } e/ e4 g/ |7 {pwd = input("请输入密码:")! d. ^; V6 T- z- s
if len(pwd)>=20:& D2 [- e2 u% t7 A+ g
name = pwd[0:20]8 e+ x. x: Z* s+ @
email=input("请输入邮箱:")
; W: S- S( j: j. a* i2 r% rif len(email)>=20:
G+ b# ~3 n, P- J$ fname = email[0:20]2 W. K. O# |) ~% t" ]( ?3 _
template = "{0} {1} {2} "% d1 _5 O+ p) I
v=template.format(name,pwd,email); o" W7 ?' d/ |/ q1 t% L
s +=v
1 ]4 B) A' S8 T8 L2 E2 e8 ?print(s.expandtabs(20))
/ U5 b) `6 X6 n( I9 m9 P4 e4 m& G6 C1 q) j+ R
Win a contest, win a challenge |
|