python之道03
1.有变量name = " aleX leNb " 完成如下操作:
- 移除 name 变量对应的值两边的空格,并输出处理结果
答案:
name = " aleX leNb "
name1 = name.strip()
print(name1)
'''
输出结果
aleX leNb
'''
- 将 name变量对应的值中所有的空格去除掉,并输出处理结果
答案:
name = " aleX leNb "
name1 = name.replace(' ','')
print(name1)
'''
输出结果
aleXleNb
'''
# 个人见解
# 这里的知识点用的是替换,strip只能去除字符两遍的空格
- 判断 name 变量是否以 "al" 开头,并输出结果(用两种方式 切片+字符串方法)
答案:
# 方式一:
name = " aleX leNb "
name1 = name.startswith('al')
print(name1)
'''
输出结果
False
'''
# 方式二:
name = " aleX leNb "
name1 = name[2]
if name1 == 'al':
print(True)
else:
print(False)
'''
输出结果
False
'''
- 判断name变量是否以"Nb"结尾,并输出结果(用两种方式 切片+字符串方法)
答案:
# 方式一:
name = " aleX leNb "
name1 = name.endswith('Nb')
print(name1)
'''
输出结果
False
'''
# 方式二:
name = " aleX leNb "
name1 = name[-2:]
if name1 == 'Nb':
print(True)
else:
print(False)
'''
输出结果
False
'''
- 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
答案:
name = " aleX leNb "
name1 = name.replace('l','p')
print(name1)
'''
输出结果
apeX peNb
'''
- 将name变量对应的值中的第一个"l"替换成"p",并输出结果
答案:
name = " aleX leNb "
name1 = name.replace('l','p',1)
print(name1)
'''
输出结果
apeX leNb
'''
- 将 name 变量对应的值根据 "l" 分割,并输出结果
答案:
name = " aleX leNb "
name1 = name.split('l')
print(name1)
'''
输出结果
[' a', 'eX ', 'eNb ']
'''
- 将 name 变量对应的值全部变大写,并输出结果
答案:
name = " aleX leNb "
name1 = name.upper()
print(name1)
'''
# 输出结果
# ALEX LENB
'''
- 将 name 变量对应的值全部变小写,并输出结果
答案:
name = " aleX leNb "
name1 = name.lower()
print(name1)
'''
# 输出结果
# alex lenb
'''
疑问: 对应值是否包含空格?个人以为包括
- 请输出 name 变量对应的值的第 2 个字符?
答案:
name = " aleX leNb "
name1 = name[1]
print(name1)
'''
# 输出结果
# a
'''
- 请输出 name 变量对应的值的前 3 个字符?
答案:
name = " aleX leNb "
name1 = name[:3]
print(name1)
'''
# 输出结果
# al
'''
- 请输出 name 变量对应的值的后 2 个字符?
答案:
name = " aleX leNb "
name1 = name[-2:-1] # name[-2:]
print(name1)
'''
# 输出结果
# b
'''
2.有字符串s = "123a4b5c"
- 通过对s切片形成新的字符串 "123"
答案:
s = "123a4b5c"
s1 = s[:3]
print(s1)
'''
# 输出结果
# 123
'''
- 通过对s切片形成新的字符串 "a4b"
答案:
s = "123a4b5c"
s2 = s[3:6]
print(s3)
'''
# 输出结果
# a4b
'''
- 通过对s切片形成字符串s5,s5 = "c"
答案:
s = "123a4b5c"
s5 = s[-1]
print(s5)
'''
# 输出结果
# c
'''
- 通过对s切片形成字符串s6,s6 = "2ab"
答案:
s = "123a4b5c"
s6 = s[1:6:2] #或者s[1:-2:2]
print(s6)
'''
# 输出结果
# 2ab
'''
- 通过对s切片形成字符串s6,s6 = "cba"
答案:
s = "123a4b5c"
s6 = s[:2:-2] #s[-1:2:-2]
print(s6)
'''
# 输出结果
# cba
'''
3.使用while循环字符串 s="你好世界" 中每个元素。
答案:
s="你好世界"
count = 0
while count < len(s):
print(s[count])
count += 1
'''
输出结果
你
好
世
界
'''
# 默写少了count += 1
# for循环
for i in s:
print(i)
4.使用while循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"(提示使用字符串方法中的格式化)
答案:
# 方式一:
s="321"
count = 0
while count < len(s):
s1 = s[count]
print(f'倒计时{s1}秒')
count += 1
if count == 1: # 其实这样写没有意义
pass
print('出发')
'''
输出结果
倒计时3秒
倒计时2秒
倒计时1秒
出发
'''
# 方式二:升级版
s="321"
count = 0
while count < len(s):
s1 = s[count]
print(f'倒计时{s1}秒')
count += 1
print('出发')
'''
输出结果
倒计时3秒
倒计时2秒
倒计时1秒
出发
'''
# 方式三: format版本
s="321"
count = 0
while count < len(s):
s1 = s[count]
print('倒计时{}秒'.format(s[count]))
count += 1
print('出发')
'''
输出结果
倒计时3秒
倒计时2秒
倒计时1秒
出发
'''
5.使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"(提示使用字符串方法中的格式化)
答案:
s="321"
for i in s:
print(f'倒计时{i}秒')
print('出发')
'''
输出结果
倒计时3秒
倒计时2秒
倒计时1秒
出发
'''
6.实现一个整数加法计算器(两个数相加):
如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。(列表也支持索引)
答案:
# 方式一:超级low版本(不满足要求)
a = int(input('请输入一个数: '))
b = int(input('请输入第二个数: '))
print(a + b)
'''
# 输出结果
# 请输入一个数: 12
# 请输入第二个数: 12
# 24
'''
# 方式二:满足题意版本
content = input('请输入: ').strip()
a = content.split("+")
print(int(a[0])+int(a[1]))
# 输出结果
请输入: 12 + 20
32
# 方式三:老师的版本
content = input('请输入: ').strip()
new_str = conten.replace(' ','')
li = new_str.split('+')
print(int(a[0])+int(a[1]))
'''
# 输出结果
请输入: 12 + 20
32
'''
7.计算用户输入的内容中有几个 s 字符?
如:content = input("请输入内容:") # 如abcassfsqfsafqsdzacsad
答案:
a = input('请输入内容: ')
a1 = a.count('s')
print(a1)
'''
输出结果
请输入字母: ssljd
2
'''
8.使用while循环分别正向和反向对字符串 message = "伤情最是晚凉天,憔悴厮人不堪言。" 进行打印。
答案:
# 正向打印:
message = "伤情最是晚凉天,憔悴厮人不堪言。"
count = 0
while count < len(message):
print(message[count],end = '') # end知识点,默认是end是'\n换行'
count += 1
'''
输出结果:
伤情最是晚凉天,憔悴厮人不堪言。
'''
# 反向打印:
message = "伤情最是晚凉天,憔悴厮人不堪言。"
count = 0
while count < len(message):
print(message[::-1][count],end = '')
count += 1
'''
输出结果:
。言堪不人厮悴憔,天凉晚是最情伤
'''
9.获取用户输入的内容,并计算前四位"a"出现几次,并输出结果。
答案:
content = input('请输入内容: ')
a = content[:3].count('a')
print(a)
'''
# 输出结果
请输入内容: aadfa
2
'''
10.制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx (字符串格式化)
答案:
# 方式一:
name = input('请输入名字:')
place = input('请输入地点:')
hobby = input('请输入爱好:')
print(f'敬爱可亲的{name},最喜欢在{place}的地方喜欢{hobby}')
# 方式二,1行版本:
print(f"敬爱可亲的{input('请输入名字:')},最喜欢在{input('请输入地点:')}的地方喜欢{input('请输入爱好:')}")
11.判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海⾃来⽔来⾃海上
答案:
while 1:
content = input('请输入:')
if content[::-1] == content:
print('是回文')
else:
print('不是回文')
'''
输出结果
请输入:123321
是回文
请输入:123456
不是回文
请输入:山西运煤车煤运西山
是回文
'''
12.输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,其他各出现了多少次,并输出出来
答案:
content = input('请输入:').strip()
u_upper = 0
l_lower = 0
d_digit = 0
other = 0
for i in content:
if i.isupper():
u_upper += 1
elif i.islower():
l_lower += 1
elif i.isdigit():
d_digit += 1
else:
other += 1
print(f'在这个字符串中大写字母出现{u_upper}次,小写字母出现{u_lower}次,数字出现{d_digit}次,其他出现{other}次.')
'''
输出结果
请输入:aBcD12!
在这个字符串中大写字母出现2次,小写字母出现2次,数字出现2次,其他出现1次.
'''
13.用户可持续输入(用while循环),用户使用的情况:
输入A,则显示走大路回家,然后在让用户进一步选择:
是选择公交车,还是步行?
选择公交车,显示10分钟到家,并退出整个程序。
选择步行,显示20分钟到家,并退出整个程序。
输入B,则显示走小路回家,并退出整个程序。
输入C,则显示绕道回家,然后在让用户进一步选择:
是选择游戏厅玩会,还是网吧?
选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。
答案:
while 1:
print('''
A: 走大路回家(可以选择公交或步行)
B: 走小路回家
C: 绕道回家(可以选择游戏厅或网吧)
''')
content = input('请输入A/B/C(不区分大小写):').strip()
if content.upper() == 'A':
print('走大路回家')
choise = input('公交车or步行?')
if choise == '公交车':
print('10分钟到家')
break
elif choise == '步行': # 这里不能用else,要不然输入其他内容也打印如下
print('20分钟到家')
break
elif content.upper() == 'B':
print('走小路回家')
break
elif content.upper() == 'C':
print('绕道回家')
choise1 = input('游戏厅玩会儿or网吧')
if choise1 == '游戏厅玩会儿':
print('一个半小时到家,爸爸在家,拿棍等你')
else:
print('两个小时到家,妈妈已做好了战斗准备')
python之道03的更多相关文章
- Python补充06 Python之道
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录 ...
- 彩蛋 Python之道
彩蛋 Python之道 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 使用下面的语句可以调出Python中的一个彩蛋, impo ...
- 【转】Python之道
作者:Vamei 出处:http://www.cnblogs.com/vamei Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录于PEP 20. 语句执行之后,终端 ...
- Python之道(一)之安装Python
"Python之道"首先介绍一下在windows系统下怎样安装Python开发环境. (1)下载MSI安装文件 进入网址www.python.org,点击Downloads进入下载 ...
- Python web前端 03 CSS属性
Python web前端 03 CSS属性 一.文字.文本属性 1.文字属性 font-family #字体类型浏览器默认的字体是微软雅黑,字体中有多个字体的时候,如果前面的字体没有就使用后面的字体 ...
- 一入python深似海--python之道
python社区不乏幽默.先来看"python之道"这首诗. 导入this包: import this 输出是一首诗,这首诗总结了Python的风格,能够指导Python程序猿的编 ...
- Python并发编程03 /僵孤进程,孤儿进程、进程互斥锁,进程队列、进程之间的通信
Python并发编程03 /僵孤进程,孤儿进程.进程互斥锁,进程队列.进程之间的通信 目录 Python并发编程03 /僵孤进程,孤儿进程.进程互斥锁,进程队列.进程之间的通信 1. 僵尸进程/孤儿进 ...
- Python网络编程03 /缓存区、基于TCP的socket循环通信、执行远程命令、socketserver通信
Python网络编程03 /缓存区.基于TCP的socket循环通信.执行远程命令.socketserver通信 目录 Python网络编程03 /缓存区.基于TCP的socket循环通信.执行远程命 ...
- Python 30道高频面试题及详细解答
开学啦,开学啦!周末坐地铁的时候看到很多同学推着行李箱,拎着大包小包的穿梭在人群中,哎新的一学期又开始啦,同时也意味着很多同学要准备毕业啦,尤其是准大四,准研三的同学. 今年的招聘行情并不乐观,小公司 ...
随机推荐
- linux以行为单位进行读写操作
1 gets/fgets函数 char* fgets(char *restrict buf,int n,FILE *restrict fp) 参数1:存放读入串的缓冲区 参数2:表示读入的字符个数,最 ...
- bzoj 5294: [Bjoi2018]二进制【动态dp+线段树】
不太清楚是不是动态dp--? 这个维护其实和最大连续子段差不多,维护l[x][y],r[x][y],m[x][y]分别表示包含左儿子的01个数为(x,y)的区间个数,包含右儿子的01个数为(x,y)的 ...
- 高级开发不得不懂的Redis Cluster数据分片机制
Redis 集群简介 Redis Cluster 是 Redis 的分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 分布式方面的需求. Redis Cluster 一般由多个节点组 ...
- SQL Server 查询入门
普通查询跟带条件的查询 声明:这里我将用通俗易懂的语言去教大家如何理解 SQL Server里的代码. 实例: 1.查询学生表中所有的信息 select * from Student 下面是我的理解 ...
- tomcat复习
javaEE 服务器: java企业版服务器:是一个标准 BS/CS: 1> CS: client/Server 优点:易操作性比较高 缺点:客户端需要升级维护. 2> BS: Brows ...
- jQuery笔记之工具方法extend插件扩展
jQuery工具方法 $.extend()插件扩展(工具方法) $.fn.extend()插件扩展(实例方法) 浅度克隆.深度克隆 两个方法基本是一样的,唯一不同的就是调用方式不一样 -------- ...
- Django使用dwebsocket来通信,服务器报错[Error 10038]
记录这次Django踩得最大的一次坑,没有之一.前前后后困扰了一周. 在使用Django的dwebsocket模块建立websocket时,不管是前端主动关闭,还是页面刷新,还是页面关闭.服务端均会报 ...
- 递推DP URAL 1031 Railway Tickets
题目传送门 /* 简单递推DP:读题烦!在区间内的都更新一遍,dp[]初始化INF 注意:s1与s2大小不一定,坑! 详细解释:http://blog.csdn.net/kk303/article/d ...
- Suricata的配置
见官网 https://suricata.readthedocs.io/en/latest/configuration/index.html# Docs » 8. Configuration Edit ...
- CentOS Linux下MySQL 5.1.x的安装、优化和安全配置
下载页面:http://dev.mysql.com/downloads/mysql/5.1.html#downloads 到页面底部,找到Source downloads,这个是源码版本,下载第1个T ...