lower() #得到小写格式字符串
upper() #得到大写格式字符串
capitalize() #得到首字母大写格式
title() #得到每个单词首字母大写格式
swapcase() #得到大小写互换格式
ord()/chr() #ASCII<->字符
def strbyline(s,line=1):
# 当字符串不能被行数整除时,在末尾用空格补齐
if len(s)%line:
s = s + ' '*(len(s)%line+1)
# num表示每行输出的字符数
num = len(s) // line
for i in range(0,len(s)+1,num):
print(s[i-num:i])
strbyline('I want to eat some food! But I cannot find any.',2)
I want to eat some food!
But I cannot find any.
def reversetext(lower=1,upper=1000):
lst=[]
for i in range(lower,upper):
s = str(i)
if s == s[::-1]:
lst.append(i)
return lst
reversetext(100,200)
[101, 111, 121, 131, 141, 151, 161, 171, 181, 191]
def encryption(s='abcde',m=3):
ss=list(s)
lst=[]
index = 0
for i in range(1,len(s)+1,1):
index = (index + m - 1) % len(ss)
lst.append(ss.pop(index))
return ''.join(lst)
encryption('Python is really hard! How!',7)
' ldPs onyw rhhtaiHlera o!!y'
### 创建一个切片序号列表
### 对这个列表再加密一次,按照对应位置填入数字即可
def decryption(s='caebd',m=3):
nolst = [i for i in range(len(s))]
lst = [None]*len(s)
index = 0
for i in range(1,len(s)+1,1):
index = (index + m - 1) % len(nolst)
ref = nolst.pop(index)
lst[ref] = s[i-1]
return ''.join(lst)
decryption()
'abcde'
.center() #返回指定宽度的新字符串,原字符串居中,并使用指定字符填充
.ljust() #返回指定宽度的新字符串,原字符串左对齐,并使用指定字符填充
.rjust() #返回指定宽度的新字符串,原字符串右对齐,并使用指定字符填充
print('Hello Python!'.center(70,'-'))
----------------------------Hello Python!-----------------------------
print('Pan Zihan\n'.rjust(65,' '),'2020/06/18 '.rjust(65,' '))
Pan Zihan
2020/06/18
def printtriangle():
n=eval(input('Input lines: '.center(50)))
for i in range(n):
print(('* '*i).center(50))
printtriangle()
Input lines: 9
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cirNzTOo-1624019099369)(attachment:image.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cDMNzy35-1624019099370)(attachment:image-2.png)]
### 输出三位小数:
print('13除以7等于: %.3f'%(13/7))
13除以7等于: 1.857
find() #查找一个字符串在另一个字符串中首次出现的位置,不存在返回-1
index() #返回一个字符串在另一个字符串中首次出现的位置,不存在就异常
count() #返回一个字符串在另一个字符串中出现的次数
split() #分割字符串
partition() #将原字符串分割为3部分元组,分隔前字符串、分隔符、分隔后的字符
replace() #replace(.,pattern,replacement)
strip() #这几个方法分别用来删除两端、右端或左端的空格或连续的指定字符
题目:将股票按照股票的价格从高到低输出。
程序中有三处代码不完整,请填写完整。
注意:除要求填空的位置之外,请勿改动程序中的其他内容
def main():
#股票名称字符串,用","分割,名称前后可能有多余的空格
stocks=" 中国软件, 金鹰股份 ,财通证券,中电电机, 生益科技,通用股份, 大唐电信, 永创智能"
#股票价格字符串,用","分割,价格与上面股票一一对应
prices="50.41, 6.61, 10.91, 12.78, 13.33, 7.94, 12.91, 7.96"
#**********SPACE**********
stockList = [i.strip(' ') for i in stocks.split(',')]
#**********SPACE**********
priceList = [float(i) for i in prices.split(',')]
pairs=zip(priceList,stockList)
#**********SPACE**********
for item in sorted(pairs,reverse=True):
print('{0[1]}({0[0]:.2f}元)'.format(item))
if __name__ == '__main__':
main()
中国软件(50.41元)
生益科技(13.33元)
大唐电信(12.91元)
中电电机(12.78元)
财通证券(10.91元)
永创智能(7.96元)
通用股份(7.94元)
金鹰股份(6.61元)
统计文章的单词个数。约定单词由英文字母组成,其他字符只是用来分隔单词。
sss='Look back.'
def word_count(s):
dct = {}
s_count = sss.lower()
for i in range(26):
j = chr(97+i)
if s_count.count(j):
dct[j] = s_count.count(j)
return dct
word_count(sss)
{'a': 1, 'b': 1, 'c': 1, 'k': 2, 'l': 1, 'o': 2}
正则表达式是普通字符(包括转义字符)、特殊字符(称为元字符)及其不同组合来构成的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eulhZhIy-1624019099372)(attachment:image.png)]
分组符”()”:重复限定符重复前导字符,()表示一个分组(子模式)
选择符”|”,用于选择匹配多个可能的正则表达式中的一个
findall(pattern,string[,flags]) #列出字符串中模式的所有匹配项,返回匹配结果列表,若pattern含有组(子模式),同时返回组的列表
search(pattern,string[,flags]) #在字符串中寻找模式,若匹配,返回Match对象(参见4.2.5),否则返回None
match(pattern,string[,flags]) #从字符串的开始处匹配模式,若匹配,返回Match对象,否则返回None
split(pattern,string[,maxsplit=0])#根据模式匹配项(匹配分割符)分割字符串,返回分割后的字符串列表,maxsplit为分割的最大次数
sub(pat,repl,string[,count=0]) #将字符串中所有pat的匹配项用repl替换;并返回替换后的字符串,count为替换的最大次数
subn(pat,repl,string[,count=0]) #将字符串中所有pat的匹配项用repl替换;并返回元组:(替换后的字符串,替换次数),count为替换的最大次数
escape(string) #将字符串中所有特殊正则表达式字符转义
stri = '''00萧瑟 01空空 21一笑 41深处 61一片 81不是 02东风 22黄昏 42时节 62桃李 82时候 03何处
23当年 43平生 63人生 83肠断 04人间 24天涯 44凄凉 64十分 84富贵 05风流 25相逢 45春色 65心事
85蓬莱 06归去 26芳草 46匆匆 66黄花 86昨夜 07春风 27尊前 47功名 67一声 87行人 08西风 28一枝
48一点 68佳人 88今夜 09归来 29风雨 49无限 69长安 89谁知 10江南 30流水 50今日 70东君 90不似
11相思 31依旧 51天上 71断肠 91江上 12梅花 32风吹 52杨柳 72而今 92悠悠 13千里 33风月 53西湖
73鸳鸯 93几度 14回首 34多情 54桃花 74为谁 94青山 15明月 35故人 55扁舟 75十年 95何时 16多少
36当时 56消息 76去年 96天气 17如今 37无人 57憔悴 77少年 97惟有 18阑干 38斜阳 58何事 78海棠
98一曲 19年年 39不知 59芙蓉 79寂寞 99月明 20万里 40不见 60神仙 80无情 100往事'''
import re
def trans_poem(stri=stri):
### 提取单词和数字
stri = re.sub('\n','',stri)
no = re.findall('\d\d',stri)
wrd =re.findall('\w\w',re.sub('\d*','',stri))
### 写入字典
d = {}
for i in range(len(no)):
d[no[i]] = wrd[i]
num = input()
### 处理输入为奇数情况
if len(num)%2:
num+='0'
lst=[]
for i in range(0,len(num),2):
key=num[i]+num[i+1]
lst.append(d[key])
return ''.join(lst)
```