Python 项目开发入门与进阶(第5天)

基础知识练习题
1.执行Python脚本的两种方式
  • 1) 解释器直接执行
  • 2) 执行代码文件
2. 简述位、字节的关系
8 byte = 1 bit
3.简述ASCII,unicode, utf8, gbk的关系
  • 1)ASCII表示英文
  • 2)Unicode是所有语言都可以使用
  • 3)utf8是用3bit表示中文,是Unicode的压缩版
  • 4)gbk是用2 bit表示中文
4.请写出“李杰”分别用utf-8和gbk编码所占用的位数
  • 1)utf8: 6bit
  • 2)gbk:  4bit
5.Python单行注释和多行注释分别用什么?
1)单行#
  • 2)多行''' ''' 或者""" """ 
6.声明变量注意事项有哪些?
  • 1)字母,数字,下划线,不能以数字开头
  • 2)不能使用系统关键字
  • 3)要有意义
7.如有以下变量n1=5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示?
3位, bit_length()
8.布尔值分别有什么
  • True or False
  • ""-> Flase
  • " "->True
  • 0->False
  • other->True

9.阅读代码,请写出执行结果

a = 'alex'
b = a.capitalize()
print(a)
print(b)
请写出输出结果
alex
Alex

10、写代码,有如下变量,请按照要求实现每个功能

 name = " aleX"

 a. 移除name变量对应的值两边的空格,并输入移除后的内容
 b. 判断 name变量对应的值是否以 "al" 开头,并输出结果
 c. 判断 name变量对应的值是否以 "X" 结尾,并输出结果
d. 将 name变量对应的值中的 “l” 替换为 “p”,并输出结果
e. 将 name变量对应的值根据 “l” 分割,并输出结果。
f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
g. 将 name变量对应的值变大写,并输出结果
h. 将 name变量对应的值变小写,并输出结果
i. 请输出 name变量对应的值的第 2个字符?

j. 请输出 name变量对应的值的前 3个字符?

k. 请输出 name变量对应的值的后 2个字符?

l. 请输出name变量对应的值中 “e” 所在索引位置?

m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo

			
name="	aleX"
# result = name.strip() #‘aleX’
# result = name.startswith('al') # False
# result = name.endswith('X')#True
# result = name.replace('l', 'p')# 'apeX'
# result = name.split('l')#['\ta', 'eX']
#str
# result = name.upper()#'ALEX'
# result = name.lower()#'alex'
# result = name[1]#'a'
# result = name[0:3]#'	al'
# result = name[len(name)-2:len(name)]#'eX'
# result = name.find('e')#3
# result = name[0:-1]#‘	ale’
# print(result)		 
11、字符串是否可迭代对象?如可以请使用 for循环每一个元素?
for item in name:
     print(item)
12、请用代码实现:
 a. 利用下划线将列表的每一个元素拼接成字符串,li "alexericrain"
 b. 利用下划线将列表的每一个元素拼接成字符串,li ['alex', 'eric', 'rain'] (可选)
li = "alexericrain"
result= '_'.join(li)
print(result)#a_l_e_x_e_r_i_c_r_a_i_n
li=['alex',	'eric',	'rain']
result= '_'.join(li)
print(result)#alex_eric_rain
13、Python2中的range和 Python3中的 range的区别?
  • Python2 立即创建
  • Python3 迭代时创建
14、实现一个整数加法计算器:
如: content = input('请输入内容:') # 如: 5+9 5+ 9 5 + 9
content=input('请输入内容:')
result = content.split('+')
Num1 = int(result[0])
Num2 = int(result[1])
Sum = Num1+ Num2
print(Sum)
15、计算用户输入的内容中有几个十进制小数?几个字母?
 如:  content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928
content=input('请输入内容:')
StrCnt = 0
NumCnt = 0
for item in content:
    if (item <='z' and item >= 'A'):
        StrCnt+=1
    if (item >= '0' and item<='9'):
        NumCnt +=1
print('字母的个数:', StrCnt,"数字的个数:", NumCnt)
16、简述int和9等数字以及str和 "xxoo"等字符串的关系?
        前者是类,后者是 实例
17、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
 如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
name = input("请输入姓名:")
place = input("请输入地点:")
hobby = input('亲输入爱好')
#print("敬爱可亲的",name,'最喜欢在',place,'地方干',hobby)
template = "敬爱可亲的{0}最喜欢在{2}地方干{3}"
v= template.format(name, place, hobby)
print(v)
18、制作随机验证码,不区分大小写。
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
        - 用户输入的值
 用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
def check_code():
    import random
    checkcode = ''
    for i in range(4):
        current = random.randrange(0,4)
        if current != i:
            temp = chr(random.randint(65,90))
        else:
            temp = random.randint(0, 9)
        checkcode += str(temp)
        return checkcode
while 1:
    code = check_code()
    print(code)
    mycode = input('Please input your code:')
    if (mycode.upper() == code.upper()):
        print('OK')
        break
    else:
        print('Error, Please retry')
19、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
 如 "苍老师" "东京热",则将内容替换为 ***
test = input("Please input something:")#Fuckfjsslhfslk XXXOO sjkahdjk Fuck
v = test.replace('Fuck','***')
v2= v.replace('XXOO','***')
print(v2)#***fjsslhfslk X*** sjkahdjk ***

20、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20个字符,如果超过则只有前 20个字符有效)

如果用户输入 q或 Q 表示不再继续输入,将用户输入的内容以表格形式打印

s =''
while True:
    name = input('Please input name:')
    password = input('Please input password:')
    email = input('please input email:')
    if (name.upper()== 'Q' or password.upper() == 'Q' or email == 'Q'):
        break
    else:
        template = '{0}\t{1}\t{2}\n'
        s += template.format(name, password, email)
print(s.expandtabs(20))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值