第一题,回退字符,遇到回退字符,首先回退字符不显示,输入的字符串本身向前隐藏相应回退字符的数量 示例输入1 A为回退字符 A;BCADCAAEEEA 示例输出1 BEEa=raw_input('').split(';') list1=[]
第一题,回退字符,遇到回退字符,首先回退字符不显示,输入的字符串本身向前隐藏相应回退字符的数量
示例输入1
A为回退字符
A;BCADCAAEEEA示例输出1
BEEa=raw_input('').split(';')list1=[]
str2=''
for j in a[1]:
if j==a[0] and list1!=[]:
list1.pop()
elif j==a[0] and list1==[]:
pass
else:
list1.append(j)
# print list1
# list2=list1.reverse()
for i in list1:
if i != a[0]:
str2+=i
if list1!=[]:
print str2
第二题
输入字符串,按字母出现的次数,生成字典并进行降序排列
示例输入1
asfsdadssa示例输出1
s:4,a:3,d:2,f:1实现代码
str1=raw_input('')dict1={}
list1=[]
for i in str1:
if i not in dict1.keys():
dict1[i]=1
else:
dict1[i]+=1
# print dict1.iteritems()
dict2 = sorted(dict1.iteritems(), key=lambda d: d[1],reverse = True)
res=''
for x in dict2:
res+=x[0]+':'+str(x[1])+','
print res[:-1]
#refer
第三题
折纸问题,一张A4纸,从左到右折叠1次,会有一条凹进去的折痕,再把折叠之后的纸,从左到右再折叠一次,会有1条凸起的折痕,2条凹进去的折痕
输入示例1,输入需要从左向右折叠的次数
3输出示例1
upup
down
down
up
down
down
输入示例2
2输出示例2
updown
down
实现代码
def foldPaper(n):res = []
def midTraversal(n, postion):
if n == 0:
return
midTraversal(n - 1, "left")
if postion == "left":
res.append("down")
else:
res.append("up")
midTraversal(n - 1, "right")
midTraversal(n,"left")
return res
a=raw_input('')
list1=foldPaper(int(a))
list1.reverse()
# print list1
for i in list1:
print i