python字符串操作作业_[ python ] 字符串的操作及作业题

字符串的操作方法

capitalize() : 首字母大写

s1 = ‘my heart will go on‘

print(s1.capitalize()) #首字母大写

#执行结果:#My heart will go on

capitalize

upper() : 全部大写

s1 = ‘my heart will go on‘

print(s1.upper()) #全部转为大写

#执行结果:#MY HEART WILL GO ON

upper

lower() : 全部小写

s1 = ‘my heart will go on‘

print(s1.lower()) #全部转为小写

#执行结果:#my heart will go on

lower

这里写一个使用大小写转换的实例,验证码的比较:

auth_code = ‘KDwq‘

user_code = input(‘请输入验证码(不区分大小写):‘)

if user_code.upper() == auth_code.upper(): # 将验证码和用户输入的字符统一转换为大写进行比较;

print(‘验证成功.‘)

else:

print(‘验证失败.‘)

swapcase() : 大小写反转

s1 = ‘MY HEART will go ON‘

print(s1.swapcase()) #大小写反转;大写转换为小写,小写转换为大写

#执行结果:#my heart WILL GO on

swapcase

title(): 标题首字母大写

s1 = ‘MY HEART will go ON‘

print(s1.title()) #标题首字母大写,用空格隔开的每个单词都当作一个标题处理## 执行结果:#My Heart Will Go On

title

center(): 居中,默认填充空格

s1 = ‘MY HEART will go ON‘

print(s1.center(30, ‘#‘)) #居中显示,第一个参数是位宽int类型,第二个参数是占位符,str类型;

#执行结果:######MY HEART will go ON######

center

startswith(): 以什么开头,返回 bool 值

s1 = ‘nice to meeting you‘

print(s1.startswith(‘ni‘)) #判断以什么字符串开始,返回bool类型,正确返回 True,错误返回 False

#执行结果:#True

print(s1.startswith(‘no‘))#执行结果:#False

startswith

endswith(): 以什么结尾,返回 bool 值

s1 = ‘nice to meeting you‘

print(s1.endswith(‘you‘)) #判断以什么字符串结尾,返回bool类型,正确返回 True,错误返回 False

#执行结果:#True

print(s1.endswith(‘yyy‘))#执行结果:#False

endswith

find() 和 index() 都是通过元素找索引的方法,区别如下:

find()方法:元素存在打印索引,元素不存在返回 -1

index()方法:元素存在打印索引,元素不存在报错。错误信息:ValueError: substring not found

s1 = ‘nice to meeting you‘

print(s1.find(‘to‘))#执行结果:#5

print(s1.find(‘xxx‘))#执行结果:#-1

print(s1.index(‘to‘))#执行结果:#5

#print(s1.index(‘xxx‘))

#执行结果:#ValueError: substring not found

find 和 index

所以,在程序中应当使用 find() 来查找索引,尽量避免程序出现报错信息

strip(): 默认去除行首和行尾的空格;

rstrip() 从左删

lstrip() 从右删

s1 = ‘nice to meeting you‘

print(s1.strip()) #默认去除开头和结尾的空格部分;

#执行结果:#nice to meeting you

s1= ‘#######nice to meeting you#######‘

print(s1.strip(‘#‘)) #第一个参数为开头和结尾要去除的字符

#执行结果:#nice to meeting you

strip

count():统计字符串出现个数

s1 = ‘adfasdfasdfasdfertadf‘

print(s1.count(‘a‘)) #统计字符串出现的次数

#执行结果:#5

count

split(): 按照指定字符分隔成多个元素  str --> list

s1 = ‘nice to meeting you‘

print(s1.split()) #默认将字符串通过空格分隔并组成列表类型

#执行结果:#[‘nice‘, ‘to‘, ‘meeting‘, ‘you‘]

split

format 有三种用法:

print(‘我叫{}, 跟我念一遍:{}, 年龄:{}, 爱好:{}‘.format(‘clot‘, ‘clot‘, 20, ‘摄影‘))print(‘我叫{0}, 跟我念一遍:{0}, 年龄:{1}, 爱好:{2}‘.format(‘clot‘, 20, ‘摄影‘))print(‘我叫{name}, 跟我念一遍:{name}, 年龄:{age}, 爱好:{hobby}‘.format(name=‘clot‘, age=20, hobby=‘摄影‘))#执行结果:#

#我叫clot, 跟我念一遍:clot, 年龄:20, 爱好:摄影#我叫clot, 跟我念一遍:clot, 年龄:20, 爱好:摄影#我叫clot, 跟我念一遍:clot, 年龄:20, 爱好:摄影

format

replace(): 字符串替换

s1 = ‘nice to meeting you‘

print(s1.replace(‘meeting‘, ‘see‘)) #在字符串中,用第一个参数替换掉第二个参数,默认是匹配上则全部替换

#执行结果:#nice to see you

replace

isdigit(): 判断字符串是否全部是数字组成

s1 = ‘123123123123‘

print(s1.isdigit()) #判断字符串是否全部由数字组成,小数点无法匹配上,返回bool类型;

#执行结果:#True

isdigit

isalpha():判断字符串是否全是字母组成

s1 = ‘asdfasdf‘

print(s1.isalpha()) #判断字符串是否全部由字母组成,返回bool类型;

#执行结果:#True

isalpha

isalnum():判断字符串是否由数字和字母组成

s1 = ‘asdfa234asdf‘

print(s1.isalnum()) #判断字符串是否全部由字母或字母组成,返回bool类型;

#执行结果:#True

isalnum

作业题

1. 判断下列逻辑语句的 True、False

1) 1 > 1 or 3 > 4 or 4 > 5 and 2> 1 and 9 > 8 or 7 < 6

2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

3) 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4 > 6 or 3 < 2

2. 求出下列逻辑语句的值。

1) 8 or 3 and 4 or 2 and 0 or 9 and 7

2) 0 or 2 and 3 and 4 or 6 and 0 or 3

3) 5 and 9 or 10 and 2 or 3 and 5 or 4 or 5

3. 下列结果是什么?

1) 6 or 2 > 1

2) 3 or 2 > 1

3) 0 or 5 < 4

4) 5 < 4 or 3

5) 2 > 1 or 6

6) 3 and 2 > 1

7) 0 and 3 > 1

8) 2 > 1 and 3

9) 3 > 1 and 0

10) 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2

4. 写代码:计算 1-2+3...+99 中除了88意外所有数的总和?

以下 F 表示: False, T 表示:True1. 判断下列逻辑语句的 True、False1) 1 > 1 or 3 > 4 or 4 > 5 and 2> 1 and 9 > 8 or 7 < 6计算过程:#1 > 1 or 3 > 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6#1 > 1 or 3 > 4 or F and 9 > 8 or 7 < 6#1 > 1 or 3 > 4 or F or 7 < 6#F or F or 7 < 6#F or 7 < 6#F

2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6计算过程:#F and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6#F or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6#F or F and 9 > 8 or 7 < 6#F or F or 7 < 6#F or 7 < 6#F

3) 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4 > 6 or 3 < 2计算过程:#1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4 > 6 or 3 < 2#F or 4 > 5 and 2 > 1 or 9 < 8 and 4 > 6 or 3 < 2#F or F or 9 < 8 and 4 > 6 or 3 < 2#F or F or F or 3 < 2#F or F or 3 < 2#F or 3 < 2#F

2. 求出下列逻辑语句的值。1) 8 or 3 and 4 or 2 and 0 or 9 and 7计算过程:#8 or 3 and 4 or 2 and 0 or 9 and 7#8 or 4 or 0 or 7#8 or 0 or 7#8 or 7#8

2) 0 or 2 and 3 and 4 or 6 and 0 or 3计算过程:#0 or 2 and 3 and 4 or 6 and 0 or 3#0 or 3 and 4 or 6 and 0 or 3#0 or 4 or 6 and 0 or 3#0 or 4 or 0 or 3#4 or 0 or 3#4 or 3#4

3) 5 and 9 or 10 and 2 or 3 and 5 or 4 or 5计算过程:#5 and 9 or 10 and 2 or 3 and 5 or 4 or 5#9 or 10 and 2 or 3 and 5 or 4 or 5#9 or 2 or 3 and 5 or 4 or 5#9 or 2 or 5 or 4 or 5#9 or 5 or 4 or 5#9 or 4 or 5#9 or 5#9

3. 下列结果是什么?

提示:

(1)牢记优先级:not > and > or(2)and取值

从前往后,

(a) 第一个数的bool值为 False,那就直接返回第一个数(0就返回0,False就返回False);

(b) 如果第一个数的bool值为 True,第二个数的bool值为 False,则返回第二个数的值;

(c) 如果两个数的bool值都为True,则返回第二个数.

(d) 如果两个数的bool值都为False,则返回第一个数.

(3)or取值

从前往后,

(a) 第一个数的bool值为 False,那就直接返回第二个数;

(b) 如果第一个数的bool值为 True,第二个数的bool值为 False,则返回第一个数的值;

(c) 如果两个数的bool值都为True,则返回第一个数.

(d) 如果两个数的bool值都为False,则返回第二个数.1) 6 or 2 > 1计算过程:print(6 or 2 > 1)#6 or 2 > 1#6 or T#6

2) 3 or 2 > 1计算过程:print(6 or 2 > 1)#6 or 2 > 1#6 or T#6

3) 0 or 5 < 4计算过程:print(0 or 5 < 4)#0 or 5 < 4#0 or F#False

4) 5 < 4 or 3计算过程:print(5 < 4 or 3)#5 < 4 or 3#F or 3#3

5) 2 > 1 or 6计算过程:print(2 > 1 or 6)#2 > 1 or 6#T or 6#T

6) 3 and 2 > 1计算过程:print(3 and 2 > 1)#3 and 2 > 1#3 and T#T

7) 0 and 3 > 1计算过程:print(0 and 3 > 1)#0 and 3 > 1#0 and T#0

8) 2 > 1 and 3计算过程:print(2 > 1 and 3)#2 > 1 and 3#T and 3#3

9) 3 > 1 and0

计算过程:print(3 > 1 and0)#3 > 1 and 0#T and 0#0

10) 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2计算过程:print(3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2)#3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2#T and 2 or 2 < 3 and 3 and 4 or 3 > 2#2 or 2 < 3 and 3 and 4 or 3 > 2#2 or F and 3 and 4 or 3 > 2#2 or F and 4 or 3 > 2#2 or F or 3 > 2#2 or 3 > 2#2 or T#2

4. 写代码:计算 1-2+3...+99中除了88意外所有数的总和?

num=0

count=0while count < 100:

count+= 1 #count = count + 1 必须写在 continue 之前,否则进入死循环

if count == 88:continue

if count % 2: #获取奇数

num +=countelse:

num-=countprint(num)

作业题答案及分析过程

原文:https://www.cnblogs.com/hukey/p/9612961.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值