python之基础练习题

1、执行 Python 脚本的两种方式
(1)cmd黑窗口执行
(2)通过pycharm或者IDLE执行

2、简述位、字节的关系
一个字节等于8个二进制位

3、简述 ascii、unicode、utf-8、gbk 的关系
ascii码是8位
unicode至少占16个二进制位
utf-8是一个字节占3位
gbk是专门为中文设计的,一个字节占两位,在写中文时最节省空间。

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

5、Pyhton 单行注释和多行注释分别用什么?
单行注释: #
多行注释: ''' ... '''或者"""..."""

6、声明变量注意事项有那些?
变量只能是由数字、字母和下划线组成,不能是关键字,另外数字不能开头。

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

n1 = 5
v = n1.big_length()
print(v)
输出:3

8、布尔值分别有什么?
True 和 False

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

			 a	=	"alex"
			 b	=	a.capitalize() -- 首字母大写
			 print(a)
			 print(b)
			 请写出输出结果:Alex

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

			 name	=	"	aleX"
			 a.	 移除 name 变量对应的值两边的空格,并输入移除后的内容
                      v = name.strip()
                      print(v) -- alex

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

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

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


			 e.	 将 name 变量对应的值根据 “l” 分割,并输出结果。
                      v = name.split('l')
                      print(v) -- [' A','ex']
						
			 f.	 请问,上一题 e	 分割之后得到值是什么类型(可选)?
                          print(type(v)) -- list

			 g.	 将 name 变量对应的值变大写,并输出结果
                        v = name.upper()
                        print(v) --  ALEX

			 h.	 将 name 变量对应的值变小写,并输出结果
                        v = name.lower()
                        print(v) -- alex

			 i.	 请输出 name 变量对应的值的第 2 个字符?
                        print(name[1]) -- A
			 j.	 请输出 name 变量对应的值的前 3 个字符?
                        print(name[2]) -- l
			 k.	 请输出 name 变量对应的值的后 2 个字符?
                        print(name[3:5]) -- ex

			 l.	 请输出 name 变量对应的值中 “e” 所在索引位置?
                        name = ' Alex'
                        v = name.find('e')
                        print(v) -- 3

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

21、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
字符串可以迭代对象
name = 'alex'
for item in name:
print(item)
输出:
a
l
e
x

22、请用代码实现:
a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
li = 'alexericrain'
v = '_'.join(li)
print(v)

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

23、Python2 中的 range 和 Python3 中的 range 的区别?
在python2中,print(range(0,100))直接输出0到100的数字
在python3中,print(range(0,100))输出的还是range(0,100),只有在用for循环遍历range(0,100)时才会写进内存。

24、实现一个整数加法计算器:
如:
content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
代码实现:
content = input('请输入内容:')
v = content.split('+')
s = int(v[0]) + int(v[1])
print(s)

25、计算用户输入的内容中有几个十进制小数?几个字母?
content = input("请输入一串由字母和数字组成的字符串:")
num = 0
snum = 0
for item in content:
if item.isdecimal() == True:
num += 1
elif item.isalpha() == True:
snum += 1
else:
pass
print('一共有字母{}个,数字{}个'.format(snum,num))

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

27、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
name = input('请输入姓名:')
addr = input('请输入地点:')
lo = input('请输入爱好:')
n = 0
while n < 5:
print("敬爱可亲的{0},最喜欢在{1}地方干{3}".format(name,addr,lo))
n += 1
print('----------------end-----------------')

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

28、制作随机验证码,不区分大小写。
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:

29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍老师" "东京热",则将内容替换为 ***
content = input("请输入内容:")
s = '测试'
for item in content:
for i in s:
if i == item:
content = content.replace(item,'*')
else:
pass
print(content)

30、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式

s2 = ''
while True:
name = input("请输入用户名:")
pwd = input("请输入密码:")
mail = input("请输入邮箱:")
if len(name) > 10:
name = name[0:10]
else:
pass
if len(pwd) > 10:
pwd = pwd[0:10]
else:
pass
if len(mail) > 10:
mail = mail[0:10]
else:
pass
s1 = '{}\t{}\t{}\n'.format(name,pwd,mail)
s2 += s1
v = input("请问是否继续:(输入q或者Q即可退出)")
if v.lower() == 'q':
break
else:
continue
print(s2.expandtabs(15))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值