|
|
楼主 |
发表于 2022-6-25 00:00:03
|
显示全部楼层
1.执行Python脚本的两种方式
M- ^, a1 t9 w& P, u v- h1)调用解释器 Python +绝对路径+文件名称
; B4 e- K0 e( x+ l1 w5 N% e; z2)调用解释器 Python +相对路径+文件名称
1 i( b3 D4 J. ?+ C- ~( O1 S8 Z9 c3 K' F2 l) B( v# H6 v5 \5 V5 o
2.简述位、字节的关系* b& n: E5 y& d+ i4 M/ |
8位为1个字节( X* e @$ N( J
( z+ U6 P( W: q7 B9 `. K/ V$ g3.简述ASCII、unicode、utf-8、gbk的关系
2 q5 L" C6 ?# K! j+ W+ n; M+ hascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,
: f$ L: p* L m5 C! vUnicode是为了统一世界各国语言的不同,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,
/ }4 J$ q' t0 i$ k* M, y7 u可以用在内存处理中,兼容了utf-8,gbk,ASCII,3 r% n8 Q8 A) B k- f# u
utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,
" T" a k8 }! _% Tgbk 是中文的字符编码,用2个字节代表一个字符,9 q0 K4 e p1 _
6 _9 {7 h. o D% s7 H- z4 B
4.请写出"李杰"分别用utf-8和gbk编码所占的位数
7 P2 {, z. t- f3 l) W" R8 ]4 D9 U. K ?+ Autf-8:48位
; W6 a D: t5 y& C/ zgbk:32位
7 f9 m6 j* a* K1 i, b) w
5 }5 f0 r! J8 O$ J5.Pyhton单行注释和多行注释分别用什么表示?
: x+ i5 N) D' l' }, U6 t单行注释:#% j8 r; v; d: B, r1 [/ v
多行注释:""" O8 u. k2 k: _3 @( M
c u' e! V9 \( |, f9 k) B" V
6.声明变量注意事项有哪些?/ ~3 L$ O% k" Q. K+ C: F% s
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。
2 D# j/ o. _- f( ?( HPython 不允许引用一个未被赋值的变量,否则会引发一个异常。9 R, I$ k( A& t& u
- g8 x' t8 }5 f O8 l y$ A
7.如有以下变量n1=5,请使用int的提供方法,得到该变量最少可以用多少个二进制位表示?
. d3 ~. r+ B0 }! G5位 输出为0b101# ^8 V/ J, ~% {9 A$ `' w- F
v2 = bin(int(5))$ G8 A' V, A0 i: T
print(v2)
' k5 ~) y1 j9 O9 e
$ c' h. o6 P- x7 t0 r6 x& `: q+ y: L8.布尔值分别有什么?
$ g6 D- e) W# b7 v3 ?True False* Y3 Y o0 y2 V3 X
% a g& q4 R8 y- ]7 i* U* f9.阅读代码,写出执行结果
2 p( j, V8 k# P& `1 Ma ="alex"4 u- j4 ~, y! F' j* z
b=a.capitalize()) g$ B6 p) k3 `. l* c6 o4 y
print(a)# r* }8 c: [" [. l3 z/ `6 D
print(b)8 a- J% s/ X: Q% C/ E0 m# ?% l# k
输出结果
6 m4 h7 {. c. _( Talex
/ S4 E" p4 \* [5 @5 ~Alex) x! e$ [1 I6 R9 K7 C; q( A. V
4 X3 p$ @! G' [* ^4 a& q10.写代码,有如下变量,请按照要求实现每个功能. s$ f+ d; I+ R' H5 ~4 L- U
# a ="alex"
0 ^8 e& \4 ?* m5 o* c# b=a.capitalize()
( p l4 }3 C( |; v3 V1 h" ^# print(a)9 @ J7 g& f7 A& n. b. h
# print(b)
& t' Y$ d; `. W& U7 Dname = " aleX"
9 t" [) c1 c3 c# a.移除name变量对应的值两边的空格,并输入移除后的内容+ g" H u4 T; Q3 ~: R X
n1=name.strip()
0 L, ~) q6 |5 m, t6 u' T3 N2 |1 iprint(n1)
3 d* C. }- Z7 |#b.判断name变量对应的值是否以"al"开头,并输出结果
) V! k, e' N* S. F; t4 A! Fn2=name.startswith("al")) r7 X* W. H: ?6 W
print(n2)7 _- \) j: Z$ K
#c.判断name变量对应是否以"X"结尾,并输出结果
+ b2 h4 ]5 z6 o6 E. l) en3=name.endswith("X")
+ d7 |3 N7 f) |; C3 rprint(n3)/ w* T& a9 _8 v$ k1 s
#d.将name变量对应的“l”替换为“p”,并输出结果
" ? `. J1 e" Z* Y, Nn4=name.replace("l","p")
9 x" V" h' Y$ U2 E3 Dprint(n4)& e# `" `$ W0 }
#e.将name变量对应的值根据“l”分割,并输出结果# v* P- r2 y1 d( H& C) ~. y
n5=name.split("l"), B2 N1 Y5 G2 @
print(n5)
1 k: B& i% h% k6 c0 p#f.请问,上一题e分割之后得到值是什么类型4 }& ?* m) V" x, o: ^" r2 u
#列表
) [% H; \' C7 j; e2 n#g.将name变量对应的值变大写,并输出结果
! x# G! J' Q2 {+ v! Q3 Sn6=name.upper()
$ [( n( G6 k/ i9 \print(n6)2 s+ u# E, X ~- R5 C2 ~, J
#h.将name变量对应的值变小写,并输出结果
# a- i0 v4 Y" |( Q% V: en7=name.lower()! M# E. ~' A/ H2 y) u) n2 Z+ n
print(n7), E3 H& C8 }# G1 g' j9 h
#i.请输出name变量对应的值的第2个字符# ]7 K0 Y2 M/ r* i. Q$ c- g
n8=name[2]
( s. l7 D: I5 U1 \1 v3 y/ _" W( Uprint(n8)
* l5 q( F) z% H9 m1 i#请输出name变量对应的值得前3个字符
( k i* l+ t4 T- \n9=name[0:3]4 z; B$ O2 I% r
print(n9)
3 U' P* C6 k9 M" K1 V0 }3 b#请输出name变量对应的值得后2个字符
' f a% A/ Y B* e9 q' an10=name[-1:-2]& b4 _6 G! K0 Y2 i+ l7 g0 Y; q R
print(n10)9 D) E. `, B$ A: d/ p
#请输出name变量对应的值中"e"所在的索引位置% P) B! Z0 n/ h8 C% b
n11=name.find("e")6 y( d% I, D9 Q3 V
print(n11)/ {! K; M) A9 A6 {" ?8 ~6 p
#获取子序列,仅不包含最后一个字符,如 oldboy则获取oldbo;root则获取roo1 F: M# l5 s: ^' }. I7 L1 t" d
n12=input(">>>")
* U+ {' z, c2 o! ul=len(n12)* ~) }" r6 R% ]
n13=n12[0:l-1]
: M# f5 a' w/ h8 N; ~print(n13)( u( R/ d% z0 r3 v7 B" Y
( s! w( [/ j& z2 y" N- v: W1 J: d3 g
21.字符串是否可迭代对象?如可以请使用for循环每一个元素?
+ q8 t, l& x4 B+ L; u字符串可以迭代' y. P% [2 \% h7 a
#将文件按照索引打印出来' B' W d% {1 P
test = input(">>>>")# {# v& C# l- V3 n
for item in test:' j' n4 Q( R7 Q8 A6 n n V$ l
print(item)
. p6 q9 m8 O; `& f6 O4 N z) |" H: m% X( |
22.请用代码实现
+ _, v* o( j- I8 L5 O$ c# a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"' |( b5 i! `+ G4 [9 q7 u% S8 Y
li=['a','l','e','x','e','r','i','c','r','a','i','n']
7 C; F9 K, y5 P) Sli1='-'.join(li)
9 J( v5 E. F) X, g- p) aprint(li1)" D+ ]5 @! w I" P; J8 f
############################################################################. Z( W ~5 `' t9 ^7 i! V
# b.利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] c6 ?% x* a5 l5 j; k$ F( r
li2 = ['alex', 'eric', 'rain']( |. c5 Q: O2 |
li3=''.join(li2)
- E" d1 k( _7 X$ `. b |2 xprint(li3)% p) `3 r: r) O' d, l% D8 S
############################################################################/ r# P9 N4 p3 j, [
* }* x$ C# d2 n$ V, Z1 Z; Y. M
23.Python2中的range和Python3中的range区别
& ^( M$ F- x0 W8 y( V1 ~. |& l$ wPython2中的range会直接在内存中生成序列
' |8 t3 @& }3 x: X; ?4 N" C3 _Python3中会生成一个范围,实际上节省了内存空间
9 f7 x2 _, {/ e7 ]. i7 O8 [" K6 y' c2 X, o9 S5 d l( @+ t& b
24.如何实现一个整数加法计算器,如 5+9或5 +9或5 + 9# j# \) D' p7 M2 e; S
content = input('请输入内容:')
) v! J. U2 @- a4 l+ _print(content.replace(' ',''))
7 J, s% q* X/ Q* S$ C) `+ \- X9 }' i5 F
25.计算用户输入内容有几个十进制小数?几个字母?
5 t1 B. Y; G) Hcontent = input('请输入内容:')% T/ u4 O4 g& Z5 N4 v
import re4 x7 g, x* X, x4 ` A. f
#字母; N" c8 A, ^+ a, Y' L8 O
y = len(re.findall(r'[a-z]',content))+ R. D. d3 v8 P1 w0 ^, U
print('出现的字母个数为:',y)% F# t7 k; J8 B2 M
#数字# M; W; `7 R) b$ ?- s- z* d
z = len(re.findall(r'[0-9]',content))
& D) L( O) m! y+ L3 @4 V3 Dprint('出现的数字个数为:',z)' G& p3 M H* B
# Z6 A3 G. [+ s T0 S& m
26.简述int和9等数字以及str和"xxoo"等字符串的关系
5 f z* S" ]( Z* [ ~9 d) ]类和对象的关系2 ~& B4 I: y5 G4 r7 d0 r8 F- I% r
% w6 v5 M2 T! g1 [1 z27.制作趣味模板
/ `% {" k7 f0 |* Z: i u7 Y需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现8 t- L3 E! H7 A6 }+ @
test = "敬爱可亲的{0},最喜欢在{1},地方{2}"
* }( p6 @3 H7 Q2 `name= {input("输入名称")}
# w, N% u$ _( k% v! Cplace= {input("地点")}. D( e( w. e$ U- t, t0 `
doing={input("事件")}/ C6 x$ W5 w$ |: f7 X" l: |# S
print(test.format(name,place,doing))' ^$ s6 b) J9 L! {# W* u; \
% ~8 P; d9 A$ I$ _' k
28.制作随机验证码,不区分大小写
/ ?8 l' r& ~0 r2 A. F0 ~- t####################################################################################
$ `! Q! p( v: u# y2 B/ K# def check_code():% g; y- E& z9 Y& A, T( ]$ @
# import random
- B2 b. j+ \& G/ L3 g. u* R5 b# checkcode = ""
2 k4 `7 N, o" X( i# for i in range(4):
! k2 u+ ] L3 o m1 ?# current = random.randrange(0,4)
l" C$ U. T; d& j$ h5 l# if current !=i:
' E& f; }( }6 l/ J% e! p( n+ i `8 z# temp = chr(random.randint(65,90))9 V3 r& ?2 Z$ I. j2 K* R( A# v
# else:
' d' f" y( N* ]- v9 v4 ~. e# temp = random.randint(0,9)
8 e1 d7 h) [* O# checkcode +=str(temp) l2 y- @# I6 g/ y# t k) I
# return checkcode(); I$ q* G) @5 V( M3 u. u4 l D" M
# while True:9 Y, j! q- L$ y7 a8 t7 s3 o' _! f* Z
# code = check_code()
' h% a# } X1 g+ f9 \1 F, f. I2 d# print(code)
: w8 S8 s2 h8 F( c4 h# app = input("请输入验证码:")
# h2 H4 ~$ y! t1 D s% w# if code.upper() == app.upper():
& j- I1 ?5 U n! ?0 E z# print("输入正确")
; x& ^% ]( H: `8 l# T! j# break) B3 d3 ?6 p! y. h9 r' V( e' t
# else:7 X# U2 q& I- m5 ?- Q( S0 R" E
# print("输入错误")
: R/ e _3 a2 ~+ ]5 T/ b# s = input("是否重新输入?")4 Z. ~4 B- J) ~3 O0 b0 X: {: ?
# if s == "no":
! @. `) S" L6 s3 a% f9 v# break0 {. ^$ `; D/ k6 r# U
# else:) e" B8 i- b* o. w
# continue7 `4 P7 O2 m) J7 F$ l' Q/ T& w
############################摘抄至网络#############################################8 C# w4 ?1 K [# n. D
) x8 _% }+ S8 ^9 H& E; h29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入内容中包含特殊的字符:“苍老师”、“东京热”,则将内容替换为***
1 ^* i$ Z7 b! I+ F7 |! ov=input(">>>")9 X: {# e* e" i
v1=v.replace("苍老师","***")6 z- p- b0 C) a/ T1 e
v2=v1.replace("东京热","***")
2 ^ R$ c* `) r1 W9 h' Dprint(v2)
/ g4 _: w E+ ]) f* K1 f8 Q' I! Y* h: k2 U
30.制作表格
4 ~8 c2 P6 O' a7 ^. p循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)
- f2 [+ v+ e0 C# `, l5 s: r7 J如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式显示。
+ J" Q# L, u) m, p& l( @) y
0 T5 _) o9 d3 D( os=""2 C+ v U( l1 K( o: [ t/ O, u
while True:
& p9 Z* ~1 X: S0 @1 X9 d1 Jname= input("请输入用户名:"). [4 ]/ I& c/ c" u
if name =="q"or name=="Q":
n l1 @$ C/ d) T2 r1 bbreak
5 Y0 N$ G6 h- q* i. uif len(name)>=20:% S" F- i: o: a8 U# ?4 ]% o
name = name[0:20]
7 N; j9 @8 D/ spwd = input("请输入密码:")
% l2 E% `" r: O* c& ~if len(pwd)>=20:, I x' c% \- m6 X6 B N
name = pwd[0:20]
9 o" f- a" @0 H) j9 R* Memail=input("请输入邮箱:")8 n$ `* x4 `" M& {
if len(email)>=20:
" W3 V7 F: i8 g% fname = email[0:20]7 M) M4 z+ ]9 C6 p2 u! H$ n( Y e$ H
template = "{0} {1} {2} "
, h4 p! C1 d% l$ N. [* wv=template.format(name,pwd,email)
: k' z [3 |: f" p7 W8 y$ H; ws +=v( L( ?5 q4 {7 c; Z! Z( j' y3 _7 c
print(s.expandtabs(20))' w6 R) h) a7 w% F% i
" y- Y2 P. Q5 V& g8 ? F t
Win a contest, win a challenge |
|