python基础练习题30道
1、执行python脚本的两种方式
答:1>可以在python /home/xxxx.py
2>cd /home ./xxxx.py 因为py脚本里面指定了python解释器的位置
2、简述位、字节的关系
答:1Byte(字节)=8bit(二进制位)
3、简述ascii、unicode、uft-8、gbk的关系
答:ascii 英文编码,8个二进制位代表一个字母,总共可以有2的8次方减去1个等于255个
gbk是中文编码,是用的16个二进制代表一个汉字,有点浪费空间
uft-8也是中文编码,也是用的16个二进制代表一个汉字,但是能用8位表示就用位了
4、请写出“李杰”分别用utf-8的gbk编码所占的位数
6 4
5、python单行注释和多行注释分别用什么?
答:单行注释用# 多行注释用""" """
6、声明变量注意事项有哪些?
答:变量 = "abc" 变量 空格 = 空格 双引号之间的字符就是变量,在调用的时候要用吧变量用括号括起来()
变量,只能由字母、数字、下划线组成
特例:不能以数字开头
python的关键字也不能使用
7、如有以下变量n1 = 5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示
答:
n1 = 5
v = n1.bit_length()
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py 3
8、布尔值分别有什么?
答:True False
9、阅读代码,请写出执行结果
a = "gouguoqi"
b = a.capitalize()
print (a)
print (b)
结果是
gouguoqi
Gouguoqi
10、写代码,有如下变量,请按照要求实现每个功能
a.移除name变量对应值的两边的空格,并输出移除后的内容
name = " gouguoQ"
v = name.strip()
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py gouguoQ
b.判断name变量对应的值是否以"go"开头,并输出结果
name = " gouguoQ"
v = name.startswith('go')
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py False
c.判断name变量对应的值是否以"Q"结尾,并输出结果
name = " gouguoQ"
v = name.endswith('Q')
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py True
d.将name变量对应的值中的"o",替换为"p",并输出结果
name = " gouguoQ"
v = name.replace('g','p')
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py poupuoQ
e.将name变量对应的值根据"o"分割,并输出结果
name = " gouguoQ"
v = name.split('o')
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py [' g', 'ugu', 'Q']
f.请问上一题分割之后得到的值是什么类型(可选)
列表
g.将name变量对应的值变大写,并输出结果
name = " gouguoQ"
v = name.upper()
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py GOUGUOQ
h.将name变量对应的值变成小写,并输出结果
name = " gouguoQ"
v = name.lower()
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py gouguoq
i.请输出name变量对应的值的第二个字符?
name = " gouguoQ"
v = name[2]
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py o
j.请输出name变量对应的值的前三个字符
name = " gouguoQ"
v = name[0:3]
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py go
h.请输出name变量对应值的后2个字符
name = " gouguoQ"
v = name[-2:]
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py oQ
l.请输出name变量中的值"Q的索引的位置
name = " gouguoQ"
v = len(name)
for n in range(v):
if (name[n]) != "Q":
continue
else:
print (n,name[n]) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py 7 Q
m.获取子序列,仅不包含最后一个字符,如:woaini则获取woain root则获取roo
name = " gouguoQ"
print (name[0:-1]) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py gouguo
21、字符串是否可以迭代对象?如果可以请使用for循环每一个元素?
for n in "woaini":
print (n) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py w o a i n i
只要能被for循环,这个值就是 可迭代对象
#类,类型
str
各种方法
......
#对象,根据str类型创建一个对象,S1,在shell我们就叫变量
S1 = "gouguoqi"
22、请用代码实现
a.利用下划线将列表的每一个元素拼接成字符串 li = "gouguoqi"
li = "gouguoqi"
v = "_".join(li)
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py g_o_u_g_u_o_q_i
b.利用下划线将列表的每一个元素拼接成字符串 li = ['gou','guo','qi']
li = ['gou','guo','qi']
v = "_".join(li)
print (v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py gou_guo_qi
23、在python2和3中range有啥区别
在python2.7里面,range可以直接帮我们打印出来范围内的数字,这个就有缺点了,比如我打印出来1万个数字,它得先把一万个数字打印出来,这个时候我们得等着了。并且占用很多内存
在python3里面,range创建之后,并不会把这些数字打印出来,而是在什么时候调用的时候才去一个一个的打印,比如我for循环调用的时候才会挨个打印,这样就省内存了
24、实现一个整数加法计算器:
如:
content = input("请输入内容:") 如:5+9或3+6或9008+2566 content = input('请输入内容:格式是5+9 7+9 3+7 ')
v = content.split('+') 先把输入的2个数字以+分割成2个字符串
n1 = int(v[0]) 把第一个数字转换成int类型
n2 = int(v[1]) 把第二个数字转换成int类型
n3 = n1 + n2
print (n1,'+',n2,'=',n3) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py 请输入内容:格式是5+9 7+9 3+7 22+33 22 + 33 = 55
25.计算用户输入的内容中有几个十进制小数?几个字母?
如:
content = input ('请输入内容:') #如:adsffjjhb87902kdjhs-+9802jkl
思路是:定义2基数都是0,一个是字母的一个是数字的
把字符串挨个打印出来,打印出来一个,判断一个,如果是数字,就把数字的基数加一,如果是字母就把字母的基数加一,就不是数字也不是字母,就pass,最后打印出num zimu
content = input('请输入内容:计算十进制小数个数和字母个数 ')
num = 0
zimu = 0
for n in content:
if n.isdecimal() == True:
num+=1
# print ('数字个数 ',(num))
elif n.isalpha() == True:
zimu+=1
# print ('字母个数',zimu)
else:
pass
print ('数字个数 ',(num))
print ('字母个数',zimu) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py 请输入内容:计算十进制小数个数和字母个数 56gou<<<ijh78 数字个数 4 字母个数 6
26、简述int和9等数字 以及 str和"xxoo" 等字符串的关系?
int就是数字类型,str就是字符串类型,xxoo就是字符串
int str都是类,类型, 9 xxoo这些都是根据类创建的对象
27、制作趣味模板程序
需求:等待用户输入名字、地点、爱好、根据用户的名字和爱好进行任意显示
如:敬爱可亲的xxxx,最喜欢在xxxx地方干xxxx
name = input("请输入你的名字: ")
place = input("请输入你经常去的地方: ")
like = input("请输入你平时的爱好: ")
print ('猥琐的',name,',','最喜欢在',place,'地方',like) test = "猥琐的{0},最喜欢在{1}地方干{2}"
name = input("请输入你的名字: ")
place = input("请输入你经常去的地方: ")
like = input("请输入你平时的爱好: ")
v = test.format(name,place,like)
print(v) C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py 请输入你的名字: 修电脑 请输入你经常去的地方: 网吧 请输入你平时的爱好: 撸管 猥琐的修电脑,最喜欢在网吧地方干撸管
28、制作随机验证码,不区分大小写
流程:
- 用户执行程序
- 给用户显示需要输入验证码
- 用户输入的值
用户输入的值和显示的值相同时显示正确的信息:否则继续生成验证码等待用户输入
生成随机验证码代码示例:
def check_code():
import random
check_code = ''
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)
check_code += str(temp)
return check_code
code = check_code()
print(code)
解答:
def check_code():
import random
check_code = ''
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)
check_code += str(temp)
return check_code
code = check_code()
while True:
code = check_code()
print (code)
v = input('请输入验证码>>>>')
v1 = v.upper()
if v1 == code:
print ('验证码正确')
break
else:
pass C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py TGHM 请输入验证码>>>>dfgh AEP5 请输入验证码>>>>aep5 验证码正确
29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍井空" "东京热" 则将内容替换为***
思路是:创建2个变量v1 v2,用find方法来判断用户输入的字符串里面是否有敏感词,有的话find的值就不是-1,只有find的值是-1的时候才是没有敏感词的
然后用if判断,如果2个值都等于-1,才证明不包含定义的2个敏感词,就正常打印,如果包含一个敏感词或者是包含2个敏感词都包含,就执行替换的操作
替换操作思路是,先替换苍井空。替换完成之后,给它赋值一个新的变量名字,再把新的变量里面的东京热再次替换下,最后打印出来最后的变量就是2者都替换过了的结果
shuru = input("请输入字符串")
v = shuru.find('苍井空')
v1 = shuru.find('东京热')
if v == -1 and v1 == -1:
print (shuru)
elif v != -1 or v1 != -1:
shuru1 = shuru.replace('苍井空','*****')
shuru2 = shuru1.replace('东京热','*****')
print (shuru2)
# elif v1 != -1:
# shuru.replace('东京热','*****')
# shuru1 = shuru.replace('东京热','*****')
# print (shuru1)
else:
pass C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py 请输入字符串打算发松岛枫ppp34324苍井空了。。东京热了 打算发松岛枫ppp34324*****了。。*****了
用in来实现其实更简单些,代码如下
如果有敏感词的话就题把敏感词替换成*****并且赶紧退出,没有敏感词的话可以继续输入
while True:
name = input('请输入内容:')
if "苍井空" in name or "东京热" in name:
v = name.replace('苍井空', '*****')
v1 = v.replace('东京热', '*****')
print(v1)
exit()
else:
print(name)
30、制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不能超过20个字符,如果超过则只有前20个字符有效),如果用户输入q或者Q表示不再继续输入,将用户的内容一表格形式打印
s = ""
while True:
v1 = input('请输入你的名字')
v2 = input('请输入你的密码')
v3 = input('请输入你的邮箱')
v4 = v1[0:19]
v5 = v2[0:19]
v6 = v3[0:19]
test = "{0}\t{1}\t{2}\n"
v = test.format(v4, v5, v6)
b = v.expandtabs(20)
s = s + b
if v1 == "q" or v2 == "q" or v3 == "q" or v1 == "Q" or v2 == "Q" or v3 == "Q":
break
print(s) 请输入你的名字q 请输入你的密码ww 请输入你的邮箱ee aa bb cc dd dd dd ff ff ff q ww ee
python基础练习题30道的更多相关文章
- python ----字符串基础练习题30道
1.执行python脚本的两种方式 一种是点开始--运行--cmd 方式(这个操作需要先配置好环境变量path路径)之后运行python 二是直接进安装目录 运行tython软件运行.pycharm ...
- python基础练习题1
深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python.加油! 01:求‘1-100’的偶数和 #第一种解法: sum=0 num=0 while nu ...
- python基础练习题(九九乘法表)
又把python捡起来了,动手能力偏弱,决定每日一练,把基础打好! ------------------------------------------------------------------ ...
- python基础练习题
购物车程序 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/3/6 21:01 # @Author : hyang # @Si ...
- Python基础练习题100例(Python 3.x)
1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...
- 08: python基础练习题
1.while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 # 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 s = 0 i = ...
- Python学习【day02】- Python基础练习题
#!/usr/bin/env python # -*- coding:utf8 -*- # 执行Python 脚本的两种方式 # 答:①在windows的cmd窗口下 > D:/Python/p ...
- python基础练习题(题目 输出一个随机数。)
day35 --------------------------------------------------------------- 实例050:随机数 题目 输出一个随机数. 分析:使用ran ...
- python基础练习题(题目 文本颜色设置)
day23 --------------------------------------------------------------- 实例035:设置输出颜色 题目 文本颜色设置. 分析:不会, ...
随机推荐
- nodefs模块的使用demo
为什么要使用递归?因为stat本身就是一个异步的函数所有存在异步问题不能够进行循环遍历. 在使用该种方法时候需要注意的一点是必须要在箭头标记处进行数据数组的存取.否则会由于异步问题导致输出空或者其他问 ...
- [转帖]Linux内核为大规模支持100Gb/s网卡准备好了吗?并没有
Linux内核为大规模支持100Gb/s网卡准备好了吗?并没有 之前用 千兆的机器 下载速度 一般只能到 50MB 左右 没法更高 万兆的话 可能也就是 200MB左右的速度 很难更高 不知道后续的服 ...
- Wordpress 更新时 不输入ftp相关信息的方法
From 百度知道 我自己机器上面的处理过程为: cd /usr/share/nginx/html vim wp-config.php 在配置文件里面插入这三行 define("FS_MET ...
- codeforces742B
Arpa’s obvious problem and Mehrdad’s terrible solution CodeForces - 742B There are some beautiful gi ...
- 黑客又多一款喜爱工具:知名 Windows Phone 破解工具 WPinternals 开源了
导读 Windows Phone 发布后,黑客 HeathCliff74(René Lergner)写了一个软件 WPinternals,利用它可以对 Windows Phone 进行破解,这使他成为 ...
- BZOJ3718[PA2014]Parking——树状数组
题目描述 你的老板命令你将停车场里的车移动成他想要的样子.停车场是一个长条矩形,宽度为w.我们以其左下角顶点为原点,坐标轴平行于矩形的边,建立直角坐标系.停车场很长,我们可以认为它一直向右边伸展到无穷 ...
- Luogu2264 树上游戏(点分治)
要统计所有路径的信息,那我们考虑点分治,每次算经过分治中心的路径的贡献.然而路径的颜色数量实在是不好统计,既然只需要求从每个点出发的所有路径的颜色数量之和,那换一种思路,改为求从每个点出发包含某种颜色 ...
- Caused by: org.xml.sax.SAXParseException; lineNumber: 1
百分百是你的MYBATIS 的xml 里面的 xml节点没写对,或者忘记关闭,或者格式不对
- Ajax中返回数据的格式
Ajax中常见的返回数据的格式有三种:分别为文本,XML和JSON 返回的文本格式我们在上一堂课Ajax基础介绍中已经介绍过了 Ajax.php Form.html:通过Ajax对象的response ...
- 洛谷 P10P1343 地震逃生 改错
P1343 地震逃生 题目描述 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有\(n\)个点,\(m\)条边.1号点为教室,\ ...