python理论知识选择题_python基础知识练习题(一)

1.执行python脚本的两种方式

答:

1. python file.py

2.在文件头添加#!/usr/bin/python路径 ./file.py

2.简述位、字节的关系

答:

电脑只识别0和1 每个0或1 为一位 每八位为一个字节

3.简述ascii、Unicode、utf-8、gbk关系

答:

ascii 由一个八位组成

unicode 万国码最少十六位,没有上限

utf-8 压缩的万国码,最少八位,没有上限

gbk 中文,字母八位,中文十六位

4.请写出“李杰”分别用utf-8和gbk编码所占的位数

答:utf-8占三位,gbk占两位

5.python单行注释和多行注解分别用什么

答:#和"""

6.声明变量注意事项有哪些

答:可以用字母、数字(不能开头)、下划线,不能用内置关键字,最好用下划线分割。

7.如果一下变量n1 =5 ,请使用int的提供的方法,得到该变量最小可以用多少个二进制位表示?

答:101 三位

8.布尔值分别有什么?

答:Ture、False

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

a = "alex"

b = a.capitalize

print(a)

print(b)

答:alex、Alex

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

name = "aleX"

a.移除 name变量对应的值两边的空格,并输入移除后的内容

答:print(name.strip())

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分割之后得到值是什么类型(可选)?

答:列表

g.将 name变量对应的值变大写,并输出结果

答:print(name.upper())

h.将 name变量对应的值变小写,并输出结果

答:print(name.lower())

i.请输出 name变量对应的值得第2个字符?

答:print(name[1])

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

答:print(name[0:2])

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

答:print(name[2:4])

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

答:print(name.find('e'))

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

答:print(name[0:len(name)-1])

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

答:可以,for v in str:

12.请用代码实现:

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

答:v = "_".join(li)

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

答:v = "_".join(li)

13.python2 中的range 和python3中的range的区别?

答:python2的 range(1,9)等于python3的list(range(1,9))

14.实现一个整数加法计算器:

如:

content = input('请输入内容:') #如:5+9 或 5+ 9或 5 + 9

答:

num = input('请输入内容:')

v = num.split('+')

for n in v:

n = int(n.strip()) + int(n.strip())

print(n)

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

如:

content = input('请输入内容:') #如:asduiaf878123jkjsfd-213928

答:

content = input("请输入内容:")

int_num = 0

str_num = 0

for n in content:

if n in "0123456789":

int_num += 1

if n in "abcdefghijklmnopqrstuvwsyz":

str_num += 1

print('数字个数为:', int_num, '字母个数为:', str_num)

16.简述int和9等数字 以及str 和"xxoo" 等字符串的关系

答:

int整数型可做运算

str为字符串不能运算

整数转换成字符串

num = 9

num = str(num)

17.制作趣味模板程序

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实

如:敬爱可爱的xxx,最喜欢在xxx地方干xxx

答:

user_name = input("请输入姓名:")

user_add = input("请输入地址:")

user_like = input("请输入爱好:")

print('敬爱可爱的%s,喜欢在%s地方干%s' % (user_name, user_add, user_like))

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

code = check_code()

while True:

code = check_code()

print(code)

user_code = input("请输入验证码:").casefold()

code = code.casefold()

if user_code == code:

print("成功!")

break

19.开发敏感语句过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:

如"苍老师" "东京热",则将内容替换为 ***

答:

user_str = input("请输入内容:")

if "苍老师" in user_str:

user_str = user_str.replace("苍老师", "***")

else:

pass

if "京东热" in user_str:

print(user_str.replace("京东热", "***"))

else:

print(user_str)

20.制作表格

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

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

答:

v = []

while True:

user_name = input("请输入用户名:")

user_pwd = input("请输入密码:")

user_mail = input("请输入邮箱:")

if len(user_name) > 20:

user_name = user_name[0:20]

if len(user_pwd) > 20:

user_pwd = user_pwd[0:20]

if len(user_mail) > 20:

user_mail = user_mail[0:20]

n = {"name": user_name, "pwd": user_pwd, "mail": user_mail}

v.append(n)

back = input("按q退出打印,任意键继续输入")

if back == "q":

user_str = "用户名\t密码\t邮箱"

print(user_str.expandtabs(20))

for lines in v:

user_str = "{0}\t{1}\t{2}".format(lines["name"], lines["pwd"], lines["mail"])

print(user_str.expandtabs(20))

break

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值