python - 基础知识练习题

#!/usr/bin/env python3
# 1、执行Python 脚本的两种方式
1.>>python ../pyhton.py
2. >>python.py 

#2、简述位、字节的关系
一个位就代表一个01,每8个位(bit,简写为b)组成一个字节(Byte)
字节byte,位bit1byte=8bit

#3.简述asciiunicodeutf-­‐8gbk 的关系
ASCII码使用一个字节编码,范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。
Unicode能够表示全世界所有的字节
GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。
UTF-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,
1个中文字符用3个字节表示

#4.请写出李杰分别用utf‐8 gbk 编码所占的位数
utf-8 = 6个字节
gbk = 3个字节

#5.Pyhton 单行注释和多行注释分别用什么?
# 单行注释
""""""多行注释

#6.声明变量注意事项有那些?
python关键字,数字开头,-,字符,空格。

#7.如有一下变量n1=5,请使用int 的提供的方法,得到该变量最少可以用多少个二进制bit位表示?
n1 = 5
print(n1.bit_length())
#8.布尔值分别有什么?
True
False
#9.阅读代码,请写出执行结果
a = 'alex'
b = a.capitalize()
print(a)
print(b)
# 请写出输出结果:
# alex
# Alex
# 10.写代码,有如下变量,请按照要求实现每个功能
#name=" aleX"
#a.移除name 变量对应的值两边的空格,并输入移除后的内容
name=" aleX"
test = name.strip()
print(test)

#b.判断name 变量对应的值是否以"al"开头,并输出结果
name=" aleX"
test = name.startswith(' al')
print(test)

#c.判断name 变量对应的值是否以"X"结尾,并输出结果
name = ' aleX'
test = name.endswith('X')
print(test)

#d.name 变量对应的值中的“l”替换为“p”,并输出结果
name = ' aleX'
test = name.replace('l','p')
print(test)

#e.name 变量对应的值根据“l”分割,并输出结果。
name = ' aleX'
test = name.split('l')
print(test)

#f.请问,上一题e分割之后得到值是什么类型(可选)?
list str

#g.name 变量对应的值变大写,并输出结果
name = ' aleX'
test = name.upper()
print(test)

#h.name 变量对应的值变小写,并输出结果
name = ' aleX'
test = name.lower()
print(test)

#i.请输出name 变量对应的值的第2 个字符?
name = ' aleX'
print(name[:2])

#j.请输出name 变量对应的值的前3 个字符?
name = ' aleX'
print(name[0:-2])

#k.请输出name 变量对应的值的后2 个字符?
name = ' aleX'
print(name[-2:])

#l.请输出name 变量对应的值中“e”所在索引位置?
name = ' aleX'
test = name.find('e')  #index,count
print(test)

#m.获取子序列,仅不包含最后一个字符。如:oldboy则获取oldbo;root则获取roo
name = 'oldboy'
test = name.strip('y')
print(test)

#21.字符串是否可迭代对象?如可以请使用for 循环每一个元素?
name = 'The Catcher in the Rye'
for i in name:
    print(i)

#22.请用代码实现:
"""a.利用下划线将列表的每一个元素拼接成字符串,li"alexericrain"""""
"""b.利用下划线将列表的每一个元素拼接成字符串,li['alex','eric','rain'](可选)"""
test = ['a','l','e','x','e','r','i','c','r''a','i','n']
print(''.join(test))

li = ['alex','e)ric','rain']
print(''.join(li))
print(' '.join(li)

#23.Python2 中的range Python3 中的range 的区别?
python2中的range返回的是一个列表  内存占用
python3中的range返回的是一个迭代值

#24.实现一个整数加法计算器:
:content = input('请输入内容:') # 如: 5+9  5+ 9  5 + 9
sum = 0
content = input('请输入内容:')
c = content.split('+')
for i in c:
      sum += int(i)
print(sum)

#25计算用户输入的内容中有几个十进制小数?几个字母?
#如:content=input('请输入内容:')     #如:asduiaf878123jkjsfd-­‐213928
letter = 0   #字母
digital = 0  #数字
sum = input('请输入内容:')
for test in  sum:
   l = test.isdecimal()    #判断是否为数字
   d = test.isalpha()      #判断是否为字母
   if l == True:
      letter += 1
   elif d == True:
      digital += 1
print('数字:',letter,'字母:',digital)



#26.简述 int  9 等数字 以及 str  "xxoo" 等字符串的关系?
#int9 str "XXOO"的关系是类和对象的关系

#27.制作趣味模板程序 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
"""如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx"""
a = input("姓名:")
b = input("地点:")
c = input("爱好:")
print("敬爱可亲的",a,"最喜欢在",b,"地方干",c)

#28.制作随机验证码,不区分大小写。流程:
"""-­‐ 用户执行程序 -­‐ 给用户显示需要输入的验证码 -­‐ 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入生成随机验证码代码示例:"""
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
code = check_code()
print(code)

while True:
    n = input("请输入验证码:")
    if code ==  n.upper():
        print("----验证通过-----")
        break
    else:
        continue

#开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
"""如:'政治,'共产党''经济'替换***"""
n = input('>>>>')
str1 = str.maketrans('共产党','***')
str2 = str.maketrans('政治','**')
output = n.translate(str1).translate(str2)
print(output)

#28.制作表格
"""
循环提示用户输入:用户名、密码、邮箱
(要求用户输入的长度不超过20 个字符,如果超过则只有前20 个字符有效)
如果用户输入q Q
表示不再继续输入,将用户输入的内容以表格形式大隐
 """
while True:
    username = input("请输入用户名:")
    password = input("请输入密码:")
    email = input("请输入邮箱:")
    if len(username) > 20:
        username = username[0:20]

    elif len(password) > 20:
        user_pwd = user_pwd[0:20]

    elif len(email) > 20:
        user_mail = user_mail[0:20]

    enter = "用户名\t密码\t邮箱\n"
    n = '{0}\t{1}\t{2}\n'.format(username,password,email)
    output = enter+n
    enter = output.expandtabs(20)
    print(enter)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值