python note 03 切片及对字符串操作
1、计算 1 - 2 + 3 ... + 99 中除了88以外的数之和
i = 1
sum = 0
while i < 100 :
if i == 88 :
i = i + 1
continue
if i % 2 == 1 :
sum = sum + i
else :
sum = sum - i
i = i + 1
print(sum)
ps : continue前要加上i = i + 1,不然把 i = i + 1 放在第一个if前
2、计算 1 - 2 + 3 ... - 99 中除了88以外的数之和
i = 0
j = -1
sum = 0
while i < 99 :
i = i + 1
if i == 88 :
continue
else :
j = -j
sum = sum + i * j
print(sum)
ps : 注意 j = - j 放在else之后,不然会出问题
3、用户登录(三次机会)且每次错误时显示剩余错误次数
username = "pzw"
password = ""
i = 3
while i > 0:
yhm = input("请输入你的账号:")
i -= 1
if yhm == username:
mm = input("请输入你的密码:")
if mm == password:
print("验证成功.正在登陆......")
print('''恭喜你登陆成功!
欢迎用户进入
用户名 :%s
密码 :%s
'''%(username,password))
break
else:
if i == 0:
print("你的机会已经没了!game over 下次见!")
answer = input('再试试?Y or N')
if answer == 'Y':
i = 3
print("密码错误,请重新输入")
print("你还有"+str(i)+"次机会")
else:
print("请输入正确的用户名!")
if i == 0:
print("你的机会已经没了!")
answer = input('再试试?Y or N')
if answer == 'Y':
i = 3
print("你还有" + str(i) + "次机会")
else:
print('等等再想想吧!')
4、i.bit_length() 输出二级制位数
i = 100
print(i.bit_length())
#输出7
'''
bit_length
1 0000 0001 1
2 0000 0010 2
3 0000 0011 2
'''
5、int、bool、str 转换
#int ----> str
i = 1
s = str(i)
print(s)
#输出1
#str ---> int
s = ''
i = int(s)
print(i)
#输出123
#int ----->bool 只要是0就是False 非0就是True
i = 3
b = bool(i)
print(b)
#输出True
#str --->bool
#s = "" -----> False
#非空字符串都是True
#s = "0" -----> True
6、切片
s = 'ABCDEFGHIJKLMN'
s1 = s[0]
print(s1)
#输出为A
s = 'ABCDEFGHIJKLMN'
s3 = s[-1]
print(s3)
#输出为N
s = 'ABCDEFGHIJKLMN'
s4 = s[-2]
print(s4)
#输出为M
#切片顾头不顾尾
s = 'ABCDEFGHIJKLMN'
s5 = s[0:4]
print(s5)
#输出ABCD
s = 'ABCDEFGHIJKLMN'
s6 = s[0:-1]
print(s6)
#输出ABCDEFGHIJKLM
s = 'ABCDEFGHIJKLMN'
s7 = s[:]
s8 = s[0:]
print(s7,s8)
#输出ABCDEFGHIJKLMN
#s[首:尾:步长]
s = 'ABCDEFGHIJKLMN'
s10 = s[0:5:2]
print(s10)
#输出ACE
s = 'ABCDEFGHIJKLMN'
s11 = s[4:0:-1]
print(s11)
#输出EDCB
s = 'ABCDEFGHIJKLMN'
s12 = s[3::-1]
print(s12)
#输出DCBA
s = 'ABCDEFGHIJKLMN'
s13 = s[3::-2]
print(s13)
# 输出DB
s = 'ABCDEFGHIJKLMN'
s14 = s[-1::-1]
s15 = s[::-1]
print(s14,s15)
#输出NMLKJIHGFEDCBA
7、对字符串的操作
s = 'alexWUsir'
s1 = s.capitalize() # 首字母大写
print(s1)
#输出Alexwusir
s = 'alexWUsir'
s2 = s.upper() #全部大写
s3 = s.lower() #全部小写
print(s2,s3)
#输出ALEXWUSIR alexwusir
s = 'alexWUsir'
s3 = s.swapcase() #大小写反转
print(s3)
#输出ALEXwuSIR
# 每个隔开(特殊字符或者数字)的单词首字母大写
s = 'alex*egon-wusir'
s4 = s.title()
print(s4)
#输出Alex*Egon-Wusir
#居中,空白填充
s = 'alexWUsir'
s5 = s.center(20,'~')
print(s5)
#输出~~~~~alexWUsir~~~~~~
s = 'al\tsir' #\t表示前面占八位,少几位就补几位
s6 = s.expandtabs()
print(s6)
#输出al sir
test = "username\temail\tpasswd\npzw\t943969386qq.com\t123456\npzw\t943969386qq.com\t123456\n"
v = test.expandtabs(20)
print(v)
#输出
#username email passwd
#pzw 943969386qq.com 123456
#pzw 943969386qq.com 123456
s = 'alex二哥'
l = len(s) #表示输出此字符串长度
print(l)
#输出6
s = 'alexWUsir'
s7 =s.startswith('alex') #看字符串是否以alex开头
print(s7)
#输出True
s = 'alexWUsir'
s8 = s.startswith('e',2,5) #看字符串是否在第二个字符以e开头,注意顾头不顾尾原则
print(s8)
#输出True
# find 通过元素找索引,找不到返回-1
# index通过元素找索引,找不到报错
s = 'alexWUsir'
s8 = s.find('alex') #找出字符第一个字母所在位置
print(s8,type(s8))
#输出0 <class 'int'>
s = 'alexWUsir%'
s9 = s.strip('%') #删除字符串中所包含的符号,如果为('')则为删除空格符
print(s9)
#输出为alexWUsir
s = 'alexaa wusirl'
s10 = s.count('al') # 查找字符出现的次数,如果没有就为0,可以指定从第几位开始。
print(s10) # 输出1
s = ':alex:wusir:taibai'
l = s.split(':') #输出以:为分隔符,冒号会变为逗号
print(l)
#输出['', 'alex', 'wusir', 'taibai']
s = '来看待街坊邻居复合大师街坊法好的撒见客户'
s11 = s.replace('街坊','老王',1) #1表示替换一次,如果不写则全部替换
print(s11)
#输出来看待老王邻居复合大师街坊法好的撒见客户
test = "qwer"
v = test.isalnum() #判断是否只包含字母或数字
print(v)
#输出True
8、字符串实例
一、
s_str= 'acEQ1'
you_input =input('请输入验证码,不区分大小写:')
if s_str.upper() == you_input.upper():
print('输入成功')
else:
print('请重新输入')
二、
username = input('请输入名字:').strip()
if username =='pzw':
print('恭喜pzw发财')
9、format的三种玩法 格式化输出
一、
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('pzw',36,'girl','pzw')
print(s)
二、
name = input('请输入名字:')
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')
print(s)
三、
name = input('请输入名字:')
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')
print(s)
10、for循环
s = 'fhdsklfds'
for i in s:
print(i)
#打印s中全部字符
python note 03 切片及对字符串操作的更多相关文章
- Python数据科学手册-Pandas:向量化字符串操作、时间序列
向量化字符串操作 Series 和 Index对象 的str属性. 可以正确的处理缺失值 方法列表 正则表达式. Method Description match() Call re.match() ...
- python(二)——list、字典、字符串操作
列表——list 假设一种场景,想要存班里所有同学的名字,那应该拿什么存呢? 我们可以拿一个字符串去存,例如: stus = "s1,s2,s3,s4,s5……sn" 那我们要从里 ...
- Python 之列表切片的四大常用操作
最近在爬一个网站的文档的时候,老师要求把一段文字切割开来,根据中间的文本分成两段 故学习了一段时间的切片操作,现把学习成果po上来与大家分享 1.何为切片? 列表的切片就是处理列表中的部分元素,是把整 ...
- 利用Python进行数据分析(15) pandas基础: 字符串操作
字符串对象方法 split()方法拆分字符串: strip()方法去掉空白符和换行符: split()结合strip()使用: "+"符号可以将多个字符串连接起来: join( ...
- Python学习笔记-Day2-Python基础之字符串操作
字符串的常用操作包括但不限于以下操作: 字符串的替换.删除.截取.复制.连接.比较.查找.分割等 这里将对字符串的内置操作方法进行总结归纳,重点是以示例的方式进行展示. 使用type获取创建对象的类 ...
- Python笔记(九):字符串操作
(一) 字符串 单引号.双引号.三重引号都可以作为字符串的开始和结束,三重引号可以直接输入多行字符串.三重引号可能一般是用来写多行注释. (二) r和\ r使字符串成为原始字符串,忽略所有 ...
- python学习day3------列表、元组、字符串操作
一.列表 变量名后加中括号[],接下来介绍对列表进行查操作 #!/usr/bin/env python #-*- Coding:utf-8 -*- # Author:Eric.Shen test = ...
- Python 字符串操作及string模块使用
python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...
- Python基础2 列表 元祖 字符串 字典 集合 文件操作 -DAY2
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
随机推荐
- Docker的网络类型和固定IP设置
Docker的网络机制 Docker的网络有三种类型(driver): bridge, host 和 null. birdge: 就如同桥接的switch/hub, 使用bridge网络的contai ...
- PythonStudy——编程基础 Python Primary
1.什么是编程语言 语言: 一个事物与另外一个事物沟通的介质 .编程语言是程序员与计算机沟通的介质. 编程: 将人类内识别的语言转化为机器能识别的指令,这种过程就叫做编程. 注:最终这些指令会被转化 ...
- 装系统时 System clock uses UTC 问题
装系统也装了至少不下50次了,每次都是傻瓜一样的按照第一印象在弄,从未想过为啥,装到这里的时候,System clock uses UTC 勾不勾呢,每次都是百度,然后装完这一次下一次又忘了,这是没有 ...
- exactly-once和kafka
Exactly-Once的概念是指"恰好一次",简单讲就是同一个数据只会被处理一次,应用有机质保证不会重复处理同一条数据(如果数据因为因为网络业务异常被发送多次):Exactly- ...
- QQ群成员发言次数统计(正则表达式版)
1.先将QQ群的消息记录以.txt文件格式导出来,保存路径及名称自己定义(在本文我导出到Y盘,命名为test.txt) 2.程序如下: data statistics1; if _n_=1 then ...
- 关于STL容器
容器: 概念:如果把数据看做物体,容器就是放置这些物体的器物,因为其内部结构不同,数据摆放的方式不同,取用的方式也不同,我们把他们抽象成不同的模板类,使用时去实例化它 分类: 序列容器.关联容器.容器 ...
- Http User Agent Example
Browser User Agent Safari Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603. ...
- 记录一下我在lubuntu里面用到的工具
文本编辑:Atom 文本对比:Beyond Compare 数据库工具:dbeaver Git工具:GitKraKen SVN工具:RapidSVN 网页编程工具:WebStorm 另外,14.04版 ...
- DokuWiki 插件使用
本身DokuWiki提供了一些公共,但是不是很强大,所以可以安装一些插件. 安装方法可以参考:https://www.dokuwiki.org/extensions 下面列举出我觉得好用的一些插件: ...
- 利用MYSQL的函数实现用户登录功能,进出都是JSON(第一版)
以HMAC密钥形式发放密钥令牌 功能如下 1:记录用户的登录的IP地址.时间 2:实现密码错误次数超限后锁定,并提示何时解锁 CREATE DEFINER=`root`@`%` FUNCTION `u ...