基础知识练习题(一)

1、执行Python脚本的两种方式
  • 通过命令行输入python xxx.py
  • 添加文件可执行权限运行脚本
2、简述位、字节的关系
  • 位也叫bit,是数据存储的最小单位
  • 字节也叫bytes,1bytes = 8bits
3、简述ascii、unicode、utf-­‐8、gbk的关系
  • ASCII是美国用的标准信息交换码,字母,符号均用二进制表示,供256种,用1bytes代表1个字符
  • Unicode是为了统一全球语言的不同,统一用2bytes代表1个字符
  • UTF-8规定1个英文字母用1bytes,1个中文字符用3bytes表示
  • GBK是中文字符编码,2bytes代表1个字符
4、请写出“李杰”分别用utf-­‐8和gbk编码所占的位数
  • “李杰” UTF-8占用6bytes,GBK占用4bytes
5、Pyhton单行注释和多行注释分别用什么?
  • 单行注释用#
  • 多行注释可以用“”“xxxxxxx”“”,或者‘’‘xxxxxx’‘’
6、声明变量注意事项有那些?
  • 变量可以有字母、数字、下划线组成
  • 不能以数字开头
  • 不能占用关键字
7、如有一下变量n1 = 5,请使用int的提供的方法,得到该变量最少可以用多少个二进制位表示?
n1 = 5
v = n1.bit_length()
print(v)

8、布尔值分别有什么?

  • True False
9、阅读代码,请写出执行结果
a = "alex"
b = a.capitalize()
print(a)
print(b)
请写出输出结果:
  • alex
  • Alex
 
10、写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
# a.移除name变量对应的值两边的空格,并输出移除后的内容
print(name.replace(" ", ""))
# b.判断name变量对应的值是否以"al"开头,并输出结果
print(name.startswith("al"))
# c.判断name变量对应的值是否以"X"结尾,并输出结果
print(name.endswith("X"))
# d.将name变量对应的值中的“l”替换为“p”,并输出结果
print(name.replace("l", "p"))
# e.将name变量对应的值根据“l”分割,并输出结果。
print(name.split("l"))
# f.请问,上一题e分割之后得到值是什么类型(可选)?
print(type(name.split("l")))
# g.将name变量对应的值变大写,并输出结果
print(name.upper())
# h.将name变量对应的值变小写,并输出结果
print(name.lower())
# i.请输出name变量对应的值的第2个字符?
print(name[1])
# j.请输出name变量对应的值的前3个字符?
print(name[:3])
# k.请输出name变量对应的值的后2个字符?
print(name[-2:])
# l.请输出name变量对应的值中“e”所在索引位置?
print(name.index("e"))
# m.获取子序列,仅不包含最后一个字符。如:oldboy则获取oldbo; root则获取roo
print(name[:-1])

 

21、字符串是否可迭代对象?如可以请使用for循环每一个元素?

  1.字符串是可迭代对象.

  

2. for item in 字符串:
        print(item)

 

22、请用代码实现:

a.利用下划线将列表的每一个元素拼接成字符串,li="alexericrain"
print("_".join(li))

b.利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain'](可选)

print("_".join(li))

23、Python2中的range和Python3中的range的区别?

  • Python2中range直接生成,3中range边使用是生成
24、实现一个整数加法计算器:
如:
content = input('请输入内容:') #
如:5+9或5+ 9或5 + 9
 
content = input("请输入内容:")
li = content.split("+")
print(int(li[0].strip())+int(li[1].strip()))

 

25、计算用户输入的内容中有几个十进制小数?几个字母?

如:content = input('请输入内容:') #
如:asduiaf878123jkjsfd-­‐213928
content = input("请输入内容:")
count_decimal = 0
alpha_count = 0
for item in content:
    if item.isdecimal():
        count_decimal += 1
    elif item.isalpha():
        alpha_count +=1
print(count_decimal, alpha_count)

26、简述int和9等数字以及str和"xxoo"等字符串的关系?

  •  int就是整数型,str就是字符型 9是int类创建的对象,”xxoo“是str类创建的对象
 
27、制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的xxx,最喜欢在xxx地方干xxx
name = input("请输入名字:")
location = input("请输入地点")
hobby = input("请输入爱好:")
print("敬爱可亲的%s,最喜欢在%s地方干%s" % (name, location, hobby))

 

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


istrue = 1
while istrue:
    code = check_code()
    print(code)
    user_input = input('请输入验证码:')
    if user_input == code:
        print('输入正确')
        istrue = 0
    else:
        print('输入错误')

 

29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如"苍老师" "东京热",则将内容替换为***
text = input(">>>")
temp = text.replace("苍老师", "***").replace("东京热", "***")
print(temp)

 

30、制作表格循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式打印
 
posted @ 2020-09-14 21:42  kidd8250  阅读(239)  评论(0)    收藏  举报