Python_字符串常用函数和方法(5)_Python自学第十七节

2022-12-27 14:45:57 浏览数 (1)

count()方法:

count()方法用来返回一个字符串在另一个字符串中出现的次数,如果不存在则返回0。

代码语言:javascript复制
>>> a = """www.zxbke.cn"""
>>> a.count('www')   #用于统计www在变量a中出现几次
1
>>> a.count('.')   #同来统计.在变量a中出现几次
2

center()、ljust()、rjust()方法:

返回指定宽度的新字符串,两侧用指定的字符进行填充。默认使用空格进行填充

center()把字符串居中显示。ljust()把字符串居左显示。rjust()把字符串居右显示。

代码语言:javascript复制
>>> a = 'www.zxbke.cn'
>>> a.center(20)   #用于字符串居中显示,可自定义数字
'    www.zxbke.cn    '
>>> a.ljust(20,'-')   #用于字符串居左显示,指定空白部分以*填充
'www.zxbke.cn--------'
>>> a.rjust(20,'-')   #用于字符串居右显示,指定空白部分以*填充
'--------www.zxbke.cn'

练习:

一、

bacoN is one of aMerICa'S sWEethEartS. it's A dARlinG, SuCCulEnt fOoD tHAt PaIRs FlawLE 要求得到:AAAABAAAAAAAABAABBABABBAAABAAABAAABABBAAABBABBAABAAABABABBABABBABAAABB 思路:大写即换成A,小写即换成B。

代码语言:javascript复制
>>> a = "bacoN is one of aMerICa'S sWEethEartS. it's A dARlinG, SuCCulEnt fOoD tHAt PaIRs FlawLE"
>>> flag = ''
>>> for i in a:
...     if i.isupper():   #判断字母为大写则定义变量为A累加到flag变量
...             flag = flag   'A'
...     if i.islower():   #判断字母为小写则定义变量为B累加到flag变量
...             flag = flag   'B'
... 
>>> flag   
'BBBBABBBBBBBBABBAABABAABBBABBBABBBABAABBBAABAABBABBBABABAABABAABABBBAA'
>>> table = ''.maketrans('AB','BA')   #可以通过maketrans替换AB进行反转得到如下字符
>>> flag.translate(table)
'AAAABAAAAAAAABAABBABABBAAABAAABAAABABBAAABBABBAABAAABABABBABABBABAAABB'

得出的是‘培根密码’,可以到密码是‘BACNMIRMNSFNND’,培根密码解密网站:http://rumkin.com/tools/cipher/baconian.php

二、

题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9) 共出现了多少次?例如,在 1到11中,即在 1,2,3,4,5,6,7,8,9,10,11中,数字 1 出现了4 次。

代码语言:javascript复制
#!/usr/bin/python3
n,x = input().split()
flag = ''
for i in range(1,int(n) 1): 
  flag = flag   str(i)
print(flag.count(x))

range(1,int(n) 1): 结束为n 1因为,输入n为10,取值1~9。所以n 1

三、

题目链接:https://www.luogu.org/problem/P1055

代码语言:javascript复制
#!/usr/bin/python3
a = input()
b = a.replace('-','')   #定义一个去除-的变量便于取值计算
s = 0   
for i in range(9):   
  s = s   int(b[i])*(i 1)   #第一次b[0]*1,第二次b[1]*2,以此类推,每次得到的值累加到S变量
if s == 10:   #如果S取模11,如果是10,放入到X变量
  x = 'X'
else:
  x = str(s)   #如果取模不是10,则还等于本身
if x == b[-1]:   #如果取模的值=输入的最后一位则输出正确
  print('Right')
else:   #如果不是则取出前边部分 算出的取模的值输出正确的值
  print(a[:-1]   x)

0 人点赞