python基础30个常用代码-Python基础30道测试题(字符串相关)

"’’

1.执行Python脚本的两种方法:

答: ①命令:python /home/xxx.py; ②cd /home ./xxx.py

2.阐述位、字节的关系:

答: 1Byte = 8bit 一个字节是8位

计算机处理是以字节为单位,存储是以位为单位

3.阐述ACII、Unicode、UTF-8、GBK的关系

答: Python默认脚本文件都是ACII编码

在一个module定义中,如果.py文件中含有中文字符,需要在文件首补充:

#--coding = utf-8 -- 或者 #coding = utf-8

其他的编码GBK,gb2312yekeyi

Unicode是一个字符集,UTF-8(字节可变)是Unicode(双字节)的一种,

如:汉字在Unicode中占2个字节,在UTF-8中占3个字节

ACII码是一种表示英文字符的一种编码规范

GBK专门用来解决中文编码,包含全部的中文字符,无论中英文都是双字节。在国家标准GB2312上扩展的兼容GB2312

4.请写出"李杰”用UTF-8和GBK编码所占的位数:

答: UTF-8中一个中文字符是3个字节,6;

GBK中一个中文字符是2个字节,4;

计算的是字符(Python3),计算的是字节(Python2)

5.Python的单行注释和多行注释:

答: 单行注释:#(快捷键:Ctrl+/)

多行注释:’’’ "’’

6.声明变量注意事项:

答: 和Java命名规范类似:

只能由数字、字母、下划线组成,不能由数字开头,不能使用Python关键字

7.如有变量n1 = 5,请使用int提供的方法,得到该变量最少可以有多少个二进制位组成:

答: n1 = 5

print (n1.bit_length())

还可以使用进制转换:bin(),oct(),hex(),并且返回(str)的结果带有0b,0o,0x

8.布尔值分别有什么:

答: True,False,not False

9.阅读下面代码,写出执行结果:

a = "alex”

b = a.capitalize()

print(a)

print(b)

答: alex,Alex

10.写代码,实现以下每个功能:

答:

name = "aleX "

#移除name变量两边的空格,输出结果

strip_result = name.strip()

print (strip_result)

# 判断是否是以"al"开头,输出结果

print (name.startswith("al"))

# 判断是否是以"X"结尾,输出结果

print (name.endswith("X"))

# 把name变量的"l"替换为"p",输出结果

print (name.replace("l","p"))

# 把name变量根据"l"分割,输出结果

print (name.split("l"))

# 把name变量根据"l"分割,输出结果的类型

print (type(name.split("l")))

# 把name变量变大写

print (name.upper())

# 把name变量变小写

print (name.lower())

# 把name变量小写对应变大写,大写变小写

print (name.swapcase())

# 输出name变量第2个字符

print (name[1])

# 输出name变量前3个字符

print (name[:3])

# 输出name变量的后2个字符

print (name[-2:])

#输出name变量"e"对应的下标

print (name.find("e"))

# 获取子序列,仅不包含最后一个字符。如oldboy获取oldbo

print (name[:-1])

最后一个是-1,倒数第二个-2,倒数第三个-3 …依次列推

11.字符串是否是可迭代的对象?请用for循环每一个对象:

答:

name = "alex"

for item in range(0,len(name)):

print (item,name[item])

12.代码实现一下功能

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

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

答:

a.

li = "alexericrain"

print ("_".join(li))

b.

li = ['alex','eric','rain']

print ("_".join(li))

###########################len()和join()这两个方法对于所有的类型都可以用

13.Python2中的range和Python3中的range有什么区别?

答: Python2中range(100),会直接创建0-99这100个数字,导致内存空间突然之间变化,浪费内存。

Python3中range(100),会先生成range(0,100),等到使用range的时候才会创建数字,节省内存。

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

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

答:input_str = input("请输入计算的加法式子>>>>”)

get_input_str = input_str.split("+")

result = 0

for item in range(len(get_input_str)):

result += int(get_input_str[item])

print (result)

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

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

答:input_str = input("请输入任意内容:>>>”)

num_sum = 0

char_sum = 0

for item in input_str:

if item.isdecimal():

num_sum += 1

elif item.isalpha():

char_sum += 1

else:

pass

print ("一共有" + str(num_sum) + "个数字")

print ("一共有" + str(char_sum) + "个字母")

16.简述int和9,str和"xxoo"之间的关系

答: 类和对象的关系,int和str是不同的类

17.制作趣味模板程序

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

如:敬爱可亲的xxx,最喜欢在xxx地方做XXX

答:

input_str = input("名字,地点,爱好:(请按照格式输入)")

get_str = input_str.split(",")

print ()

print ("美丽的{}喜欢在{}学{}".format(get_str[0],get_str[1],get_str[2]))

18.制作随机验证码,不区分大小写

流程:

–用户执行程序

–显示需要输入的验证码

–用户输入验证码

–用户输入正确显示"Successfully login!",否则继续生成验证码等待用户输入

答:------随机验证码.py

import random

def main():

check_code = ''

for i in range(4):

current = random.randrange(4)

if current != i:

temp = chr(random.randint(65,90))

else:

temp = random.randint(0,9)

check_code += str(temp)

print (check_code)

if __name__ == '__main__':

main()

19.敏感词汇过滤程序,用户输入若有敏感词汇,则替换为"XXX"

答:

get_input = input("请输入>>>")

if "苍井空" in get_input:

print (get_input.replace("苍井空","xxx"))

20.制作表格,循环提示用户输入:用户名、密码、邮箱(输入长度不超过20个字符)

如果用户输入q或Q则退出输入,并将用户输入的内容以表格形式输出

答:

print ("请输入姓名 密码 邮箱:(以空格分开)")

get_input = input()

if get_input != 'q' or get_input.upper() != 'Q':

get_input_list = get_input.split(" ")

get_output = get_input_list[0] + " " + get_input_list[1] + " " + get_input_list[2]

get_input = input()

print ("姓名 密码 邮箱".expandtabs(20))

print (get_output.expandtabs(20))

"’’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值