day03

字符串应用:

# 字符串的索引与切片
# s = 'python脱产班20期'
# 每个字符都有对应的号码。
# 通过索引(切片)出来的内容都是字符串类型。
# 1,通过索引(下标) 号牌 找到对应的元素。
# s1 = s[0]
# # print(s1,type(s1))
# s2 = s[2]
# # print(s2)
# s3 = s[-1]
# print(s3)
# s4 = s[-2]
# print(s4)
s = 'python脱产班20期'

# 按照切片找值
# 顾头不顾腚
# s1 = s[:6] # 从0开始可以省略不写
# print(s1)
# s2 = s[6:9]
# print(s2)
# s3 = s[:] # 从头取到尾
# print(s3)
# s4 = s[6:]
# print(s4)

# 切片+步长
# s5 = s[:5:2]
# print(s5)


# 反向取值必须加反向步长。
# s6 = s[-1:-4:-1]
# print(s6)

# s7 = s[-1:-6:-2]
# print(s7)

# [起始索引: 结尾索引+1: 步长] # 切片取值


# 字符串的常用操作方法

# 大前提:对字符串的任何操作都是产生一个新的字符串,与原字符串没有关系

# s = 'taiBai'

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

# upper() lower() ***
# s2 = s.upper()
# print(s2)
# 举例:
# code = 'AeRf'.upper()
# username = input('请输入用户名:')
# your_code = input('请输入验证码:').upper()
# # if your_code == 'AERF' or your_code == 'aerf' or .... :
# if your_code == code:
# if username =='alex':
# pass
# else:
# print('验证码输入有误')


# center 居中可设置填充物 *
# s3 = s.center(20)
# s3 = s.center(20, '*')
# print(s3)

# s = 'taiBai'
# swapcase 大小写反转 *
# s4 = s.swapcase()
# # print(s4)

s = 'alex wusir*taibai7wuchao'
# title 非字母隔开的每个单词的首字母大写 *
# s5 = s.title()
# print(s5)


# strip() ***
# 默认去除字符串两边的空格,换行符,制表符
# 只是去除左边lstrip() rstrip() 课下尝试
# s = ' alex '
# s = ' alex '
# # print(s)
# s6 = s.strip()
# print(s6)

# name = input('请输入姓名:').strip()
# if name == 'alex':
# print('输入正确')
# else:
# print('输入错误')

# s = 'qw*awle@xyt@'
# # 可设置去除的字符
# s6 = s.strip('qyt@w*')
# print(s6)


# split ***
# str ---> list
# 默认按照空格分割
# s = '武大 小潘 西门'
# l = s.split()
# print(l)
# 指定字符分割。
# s = '武大,小潘,西门'
# s = '武大a小潘a西门'
# # l = s.split(',')
# l = s.split('a')
# print(l)
# s = 'a武大a小潘a西门'
# print(s.split('a'))

# 指定分割次数
# s = '武大a小潘a西门'
# rsplit() 从右边开始分割
# print(s.split('a',1))

# join
# 操作列表时,列表里面的内容必须全部是字符串类型
# 连接符.join(iterable)
# s = 'alex'
# s7 = '*'.join(s)
# s7 = '_'.join(s)
# s7 = 'sb'.join(s)
# print(s7)
l1 = ['wusir', 'alex', 'taibai']
s7 = ','.join(l1)
print(s7)


# startswith() ***
# 判断以什么为开头 可以切片。
# endswith()
# s = 'alextaibai'
# s8 = s.startswith('a')
# s8 = s.startswith('alex')
# s8 = s.startswith('alex')
# s8 = s.startswith('ta', 4, 9) # 顾头不顾腚
# print(s8)


# find :通过元素获取其索引,找到第一个就返回,找不到会返回-1.
# index:通过元素获取其索引,找到第一个就返回,找不到会报错。
s = 'taibai'
# s9 = s.find('a')
# s9 = s.find('ai')
# # 可以切片
# s9 = s.find('a',2,)
# print(s9,type(s9))
# s9 = s.find('W')
# s9 = s.index('W')
# print(s9)


# replace ***
# s = 'alex 是一个很nb的人,非常nb,太nb了'
# s10 = s.replace('nb', 'sb')
# s10 = s.replace('nb', 'sb', 2)
# print(s10)

# format ***
# s = '我叫{},今年{},性别{}'
# 方法一:
# s11 = s.format('美龙', '23', 'man')
# print(s11)

# 方法二:
# s = '我叫{0},今年{1},性别{2},我依然叫{0}{0}{0}'
# s11 = s.format('美龙', '23', 'man')
# print(s11)

# 方法三:
# s = '我叫{name},今年{age},性别{sex},我依然叫{name}'
# s11 = s.format(name='美龙', sex='man', age='23')
# print(s11)

# is系列:
# name='taibai123'
# # print(name.isalnum()) #字符串由字母或数字组成
# # print(name.isalpha()) #字符串只由字母组成
# print(name.isdigit()) #字符串只由数字组成 ***
# i = '1000a'
# if i.isdigit():
# int(i)
# else:
# print('重新输入')

s = 'fdjskfldjsafkldjasfl'
# count 计数:字符串某个字符出现的次数
# print(s.count('f'))


# 公共方法
# len()获取字符串的字符个数,总长度
# print(len(s),type(len(s)))

# s = 'f'
# s = 'f '
# s = ' '
# print(s.isspace())

作业
s = 'aleX leNb'
# s1 = s.strip()
# print(s1)
# # s2 = s.lstrip('al')
# # print(s2)
# # s3 = s.rstrip('Nb')
# # print(s3)
# s3 = s.strip('al')
# print(s3)
# s4=s.strip('Nb')
# print(s4)
# s5=s.startswith('al')
# print(s5)
# s6=s.endswith('Nb')
# print(s6)
# s7=s.replace('l','p')
# print(s7)
# s8 = s.replace('l','p',1)
# print(s8)
# s9 = s.split('l')
# print(s9)
# s10 = s.split('l',1)
# print(s10)
# s13 = s.capitalize()
# print(s13)
# s14 = s.count('l')
# print(s14)
# s15 = s.count('l',0,4)
# print(s15)
# s16 = s.index('N')
# print(s16)
# s17 = s.find('N')
# print(s17)
# s18 = s.find('X le')
# print(s18)
# s19 = s[1]
# print(s19)
# s20=s[:3]
# print(s20)
# s21=s[-2:]
# print(s21)
# s22=s.find('e')
# s23=s.find('e',3)
# print(s.find('e'),s.find('e',3))
# print(s22,s23)

# s = '123a4b5c'
# s1 = s[:3]
# s2 = s[3:6]
# s3 = s[0:7:2]
# s4 = s[1:6:2]
# s5 = s[-1]
# s6 = s[-3:-8:-2]
# print(s1)
# print(s2)
# print(s3)
# print(s4)
# print(s5)
# print(s6)


# s = 'asdfer'
# count = 0
# while count < len(s):
# print(s[count],end='')
# count += 1

# s = 'asdfer'
# for i in s:
# print(i,end= '')

# s = ' asdfer '
# for i in s:
# print(s)

# s = 'abcdefg'
# for i in s:
# print(i+'sb')


# 使⽤for循环对s="321"进⾏循环,打印的内容依次是:"倒计时3秒","倒计时2
# 秒","倒计时1秒","出发!"。


# s = '321'
# for i in s:
# print('倒计时'+i+'秒')
# print('出发')


# 7.实现⼀个整数加法计算器(两个数相加):
# 如:content = input("请输⼊内容:") ⽤户输⼊:5+9或5+ 9或5 + 9,然后进⾏分
# 割再进⾏计算
# count = input('请输入内容') #input输出为字符串。result为int i要转换为int.
# result = 0
# for i in count:
# if i != '+':
# result += int(i)
# else:
# result += 0
# print(result)
# count = input('请输入内容')
# result = 0
# for a in count:
# if a != '+':
# result += int(a)
# else:
# result += 0
# print(result)


# 8.升级题:实现⼀个整数加法计算器(多个数相加):
# 如:content = input("请输⼊内容:") ⽤户输⼊:5+9+6 +12+ 13,然后进⾏分割
# 再进⾏计算。

# count = input('请输入内容')
# result = 0
# for a in count:
# if a != '+':
# result += int(a)
# else:
# result += 0
# print(result)





#
# 9.计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。
# 如:content = input("请输⼊内容:") # 如fhdal234slfh98769fjdla
# content = input('请输⼊内容:')
# count = 0
# for i in content:
# if i.isdigit():
# count += 1
# else:
# count += 0
# print(count)


# 10.写代码,完成下列需求:(升级题)
# ⽤户可持续输⼊(⽤while循环),⽤户使⽤的情况:
# 输⼊A,则显示⾛⼤路回家,然后在让⽤户进⼀步选择:
# 是选择公交⻋,还是步⾏?
# 选择公交⻋,显示10分钟到家,并退出整个程序。
# 选择步⾏,显示20分钟到家,并退出整个程序。
# 输⼊B,则显示⾛⼩路回家,并退出整个程序。
# 输⼊C,则显示绕道回家,然后在让⽤户进⼀步选择:
# 是选择游戏厅玩会,还是⽹吧?
# 选择游戏厅,则显示 ‘⼀个半⼩时到家,爸爸在家,拿棍等你。’并让其重新输⼊
# A,B,C选项。
# 选择⽹吧,则显示‘两个⼩时到家,妈妈已做好了战⽃准备。’并让其重新输⼊
# A,B,C选项

# while True:
# ch=input('A,B,C选一项').upper()
# if ch=='A':
# print('走大路回家')
# ch2=input('公交还是步行')
# if ch2=='公交':
# print('10分钟到家')
# break
# else:
# print('20分钟到家')
# break
# elif ch == 'B':
# print('走小路回家')
# break
# else :
# print('绕到回家')
# ch3=input('选择游戏厅还是网吧')
# if ch3=='游戏厅':
# print('个半⼩时到家,爸爸在家,拿棍等你.')
# continue
# else :
# print('两个⼩时到家,妈妈已做好了战⽃准备.')
# continue



# 11.写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总
# result = 0
# for i in range(100):
# if i%2 == 0:
# if i==88:
# continue
# else:
# result -= i
# else :
# result += i
# print(result)


# 12.判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海 ⾃来⽔来⾃海上
# (升级题)

#
# s=input('请输入一句话')
# s1=s[-1::-1]
# if s == s1:
# print('是回文')
# else:
# print('不是回文')

'''
13. 输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字, 其它字符
共出现了多少次,并输出出来
'''
'''
# ord('0')=48
# ord('9')=57
# ord('A')=65
# ord('Z')=90
# ord('a')=97
# ord('z')=122
# '''
# s = input('输入你的字符串:').strip()
# num=0
# big=0
# low=0
# for i in s:
# if ord(i) >= 48 and ord(i) <=57:
# num+=1
# if ord(i) >= 65 and ord(i) <=90:
# big+=1
# if ord(i) >= 97 and ord(i) <=122:
# low+=1
# else:
# print('输入的字符串中有%d个数字,%d个大写字母,%d个小写字母' % (num,big,low))




# 14.制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进
# ⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx
# name=input('name')
# where=input('where')
# work=input('work')
# s='敬爱可亲的{},最喜欢在{}干{}'
# print(s.format(name,where,work))

# name=input('name')
# where=input('where')
# work=input('work')
# s='敬爱可亲的%s,最喜欢在%s干%s' %(name,where,work)
# print(s)
# A='A'
# # print(ord(A))
原文地址:https://www.cnblogs.com/qj696/p/10538771.html