字符串

由 ' , " , ''' , """ 括起来的内容就是字符串,

字符串是不可变的数据类型,无论执行任何操作,原字符串都不会改变,每次操作都会返回新字符串

str的索引和切片

str索引

s = "伊丽莎白鼠"
print(s[0]) #第一个
print(s[1])
print(s[2])
print(s[3])
print(s[4])

print(s[-1]) #倒数第一个
print(s[-2])
print(s[-3])
print(s[-4])
print(s[-5])
View Code

str切片

#切片,[起始位置:结束位置],顾头不顾尾,从左往右切
s = "伊丽莎白鼠"
print(s[1:3])#从1切到2
print(s[1:])#从1切到末尾
print(s[:3])#从头切到3
print(s[:])#从头切到尾
print(s[-3:-1])#还是从左往右切出 莎白

#可加入步长来控制切片方向
print(s[-1:-3:-1])#步长为-表示反方向,从右往左切
print(s[1:4:2])#步长2表示每两步取一个
View Code

str的相关操作

# s = "al1ex is a gay and Wu傻sir is A gay too"

# s1 = s.capitalize() # 把首字母变成大写
# print(s1)

# s2 = s.lower() # 小写
# print(s2)

# s3 = s.upper()  # 大写
# print(s3)

# s4 = s.swapcase() # 大小写互换
# print(s4)

# s2 = "БBß"  # 俄美德
# print(s2)
# print(s2.lower())
# print(s2.casefold())

# s5 = s.title() # 把每个单词的首字母大写
# print(s5)

# s = "sb"
# s1 = s.center(10, "*") # 强行使用*在原字符串左右两端进行拼接. 拼接成10个单位
# print(s1)

# s = "    alex    is    a   gay   "
# s1 = s.strip() # 默认去掉空格. 空白\t \n
# print(s1)

# username = input("请输入用户名:").strip()
# password = input("请输入密码:").strip()
# if username == 'alex' and password =="123":
#     print("成功")
# else:
#     print("失败")

# s = "sb alex wusir sb sb taibai taibai sb"
# print(s.strip("sb")) # 可以指定要去掉的内容

# s = "泰坦尼克号, 西虹市首富, 小猪佩奇, 冒险王"
# s1 = s.replace("冒险王", "西西里的美丽传说")
# s2 = s.replace("佩奇", "wusir")
# print(s2)
#
# s = "alex_wusir_taibai_ritian"
# s1 = s.replace("_","")
# print(s1)

# s8 = "sylar_alex_taibai_wusir_eggon"
# # s9 = s8.replace("i", "sb", 2) # 换两次
# # print(s9)
#
# lst = s8.split("taibai") # 切完的结果是一个列表. 列表中装的是字符串. 用什么切. 就会损失掉什么
# print(lst)

# s = """我家大门常打开
# 开放怀抱等你
# 后面是什么歌词
# 我忘了"""
# lst = s.split("\n")
# print(lst)

# s = "我今天下午要去吃饭饭"
# lst = s.split("我今天下午要去吃饭饭哈哈哈") # 没切
# print(lst)

# s = "我叫%s, 我今年%s了, 我喜欢%s" % ("周杰伦", "40", "昆凌")
# print(s)

# s = "我叫{}, 我今年{}了, 我喜欢{}".format("周杰伦", "40", "昆凌")
# print(s)

# s = "我叫{0}, 我今年{1}了, 我喜欢{2}".format("周杰伦", "40", "昆凌")
# print(s)

# s = "我叫{name}, 我今年{age}了, 我喜欢{hobby}".format(hobby="周杰伦", age="40", name="昆凌")
# print(s)

# s = "alex is a gay"
# print(s.startswith("tory")) # 以xxx开头
# print(s.endswith("girl")) # 以xxx结尾

# s = "I have a dream. I want to kill you!"
# 都可以进行索引范围
# print(s.count("dream")) # 计算a在字符串中出现的次数
# print(s.find("a")) # 查找xxx在字符串中出现的位置. 只找第一次出现的位置, 没有就返回-1
# print(s.index("z")) # 当字符串不存在的时候. 报错


# s = "abcdefg1@"
# print(s.isdigit()) # %d
# print(s.isalpha()) # 字母
# print(s.isalnum()) # 是否由数字和字母组成

# s = "壹仟贰佰五十六萬拾"
# print(s.isnumeric())

# 字符串长度, python的内置函数len(), int(), bool(), str(), type()
# s = "娃哈哈可口可乐"
# print(len(s)) # 字符串中的字符的个数


# s = "王小利刘能赵四"
# # # 对字符串进行遍历.
# n = 0
# while n < len(s):
#     print(s[n])
#     n = n + 1
#
# # 迭代
# for c in s: # charactor
#     print(c)
View Code

 str查找

s13 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
ret1 = s13.startswith("sylar") # 判断是否以sylar开头
print(ret1)
ret2 = s13.startswith("我叫sylar") # 判断是否以我叫sylar开
print(ret2)

ret3 = s13.endswith("语⾔") # 是否以'语⾔'结尾
print(ret3)
ret4 = s13.endswith("语⾔.") # 是否以'语⾔.'结尾
print(ret4)

ret7 = s13.count("a") # 查找"a"出现的次数
print(ret7)

ret5 = s13.find("sylar") # 查找'sylar'出现的位置
print(ret5)             #只找第一次出现的位置  如果没有返回-1

ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序会报错
print(ret8)

ret7 = s13.find("a", 8, 22) # 切⽚找
print(ret7)

 str 条件判断

# 条件判断
s14 = "123.16"
s15 = "abc"
s16 = "_abc!@"
# 是否由字⺟和数字组成
print(s14.isalnum())
print(s15.isalnum())
print(s16.isalnum())
# 是否由字⺟组成
print(s14.isalpha())
print(s15.isalpha())
print(s16.isalpha())
# 是否由数字组成, 不包括⼩数点
print(s14.isdigit())
print(s14.isdecimal())
print(s14.isnumeric()) # 这个⽐较⽜B. 中⽂都识别.
print(s15.isdigit())
print(s16.isdigit())

计算字符串长度

s18 = "我是你的眼, 我也是a"
ret = len(s18) # 计算字符串的⻓度
print(ret)
# 注意: len()是python的内置函数. 所以访问⽅式也不⼀样. 你就记着len()和print()⼀样就⾏

 str 迭代

#迭代
#while循环
s = "abcde"
n = 0
while n < len(s):
    print(s[n])
    n = n + 1

#for 循环
for c in s:
    print(c)

 

 笔记

# s = "alex is a gay"
# s1 = s.capitalize() #把首字母变成大写
# print(s1)

# s = "Alex is A Gay"
# s1 = s.lower()#全部变小写
# print(s1)

# s = "ALEX IS A GAY"
# s1 = s.upper()#全部变大写
# print(s1)

# s = "Alex is A Gay"
# s1 = s.swapcase()#大小写互换
# print(s1)

# s = "alex is a gay"
# s1 = s.title() #把每个单词的首字母变成大写
# print(s1)

# #居中
# s = "sb"
# s1 = s.center(10,"*")#强行使用*在原字符串两端进行拼接,拼成10个单位
# print

# #去空格
# s = "   alex     is    a   gay   "
# s1 = s.strip()#默认去掉左右两端空格,空白\t \n
# print(s1)

# #去空格实例
# username = input("请输入用户名:").strip()#防止用户在两端不小心输入空格
# password = input("请输入密码:").strip()
# if username == "helen" and password == "789":
#     print("登录成功")
# else:
#     print("用户名或密码错误")

# #指定要去掉的内容
# s = "sb alex sb is sb"
# print(s.strip("sb"))#去掉两端sb

# s = "海王,情圣,寒战"
# s1 = s.replace("寒战","赤道")#把"寒战"替换成"赤道"
# print(s1)

# s = "abababab"
# s1 = s.replace("a","c",3)#用c替换a,替换三次
# print(s1)

# #split 切割,切完的结果是一个列表,列表中装的是字符串
# s1 = "a-b-c-d"
# lst = s1.split("-")#用什么切,就丢掉什么
# print(lst)

# #切\n,去掉换行
# s = """好好学习
# 天天向上
# 每天进步一点点"""
# lst = s.split("\n")
# print(lst)

# lst# 格式化输出
# s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法
# print(s12)
# s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化
# print(s12)
# s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置
# print(s12)
# s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28) # 指定关键字
#
# print(s12)

# s13 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
# ret1 = s13.startswith("sylar") # 判断是否以sylar开头
# print(ret1)
# ret2 = s13.startswith("我叫sylar") # 判断是否以我叫sylar开
# print(ret2)
#
# ret3 = s13.endswith("语⾔") # 是否以'语⾔'结尾
# print(ret3)
# ret4 = s13.endswith("语⾔.") # 是否以'语⾔.'结尾
# print(ret4)
#
# ret7 = s13.count("a") # 查找"a"出现的次数
# print(ret7)
#
# ret5 = s13.find("sylar") # 查找'sylar'出现的位置
# print(ret5)             #只找第一次出现的位置  如果没有返回-1
#
# ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序会报错
# print(ret8)
#
# ret7 = s13.find("a", 8, 22) # 切⽚找
# print(ret7)

# # 条件判断
# s14 = "123.16"
# s15 = "abc"
# s16 = "_abc!@"
# # 是否由字⺟和数字组成
# print(s14.isalnum())
# print(s15.isalnum())
# print(s16.isalnum())
# # 是否由字⺟组成
# print(s14.isalpha())
# print(s15.isalpha())
# print(s16.isalpha())
# # 是否由数字组成, 不包括⼩数点
# print(s14.isdigit())
# print(s14.isdecimal())
# print(s14.isnumeric()) # 这个⽐较⽜B. 中⽂都识别.
# print(s15.isdigit())
# print(s16.isdigit())

# s18 = "我是你的眼, 我也是a"
# ret = len(s18) # 计算字符串的⻓度
# print(ret)
# # 注意: len()是python的内置函数. 所以访问⽅式也不⼀样. 你就记着len()和print()⼀样就⾏

# #迭代
# #while循环
# s = "abcde"
# n = 0
# while n < len(s):
#     print(s[n])
#     n = n + 1
# 
# #for 循环
# for c in s:
#     print(c)
View Code

 得出变量中xx的索引位置

name = "ahjdjfahk" #输出name变量中"a"所在索引位置
index = 0
for c in name:
    if c == "a":
        print (index)
    index += 1
View Code
作业

实现⼀个整数加法计算器(两个数相加):
如:content = input("请输⼊内容:") 用户输⼊:5+9 或5+ 9 或5 + 9,然后进
⾏分割再进⾏计算。
content = input("请输入内容:")
content = content.replace(" ","")#去掉空格
lst = content.split("+") # 用+切割. 切割的结果是list
print(int(lst[0]) + int(lst[1]))
View Code

 

#计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。
# 如:content = input("请输⼊内容:") # 如fhdal234slfh98769fjdla
count = 0
content = input("请输⼊内容:")
for c in content:
    if c.isdigit():
        count += 1
print(count)
View Code
输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,
其它字符共出现了多少次,并输出出来
content = input("请输入一句话:")
daxie = 0
xiaoxie = 0
shuzi = 0
other = 0

for c in content:
    if c.isupper():
        daxie += 1
    elif c.islower():
        xiaoxie += 1
    elif c.isdigit():
        shuzi += 1
    else:
        other += 1

print(daxie, xiaoxie, shuzi, other)
View Code

 

转载于:https://www.cnblogs.com/fuhai1232/p/10618187.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值