2020-1-14(68)

#241、将一个字符串进行排序

s ="sdfjlj323"
print("".join(sorted(s)))

#242、输出某个字符串aabbbccccccdddddd出现频率最高的字母和次数

s="aabbbccccccdddddd"
result={}
for i in s:
    result[i]=s.count(i)
for k,v in result.items():
    if v==max(result.values()):
        print(k,v)

#243、输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
#例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

s1="They are students."
s2="aeiou"
s1_list=list(s1)
for i in s1_list:
    if i in s2:
        s1_list.remove(i)

print("".join(s1_list))

#244、定义一个字符串str=‘efgvwxyz’,在每个字符串前面加上序号,
#需要需要是字母在26个字母中的位置序号。比如‘1a2b3c…26z’

s='efgvwxyz'
result=[]
for i in s:
    result.append(str(ord(i)-96)+i)
print("".join(result))

#245、统计一个句子中,单词的开头和结尾是同一个字母的单词数量,
#s=“I have seeds, ohio! good”

import re
count=0
s="I have seeds, ohio! good"
s_list=re.findall(r"\b[a-zA-Z]+\b",s)
print(s_list)
for word in s_list:
    if word[0]==word[-1]:
        count+=1
print("开头和结尾字母一样的单词有%s个" %count)

#246、输入一个字符串,包含四种类型的字符,大写字母,小写字母,数字,减号(-)
#要求: 对输入的字符串做相应的展开并且输出,如a-d展开为abcd,A-C展开为ABC,4-4展开成4

def func(p):
    s = []
    result = []
    for i in range(0,len(p),3):
        s.append(p[i:i+3])
    for value in s:
        temp = ""
        if value[0] not in "0123456789":
            for n in range(ord(value[0]),ord(value[-1])+1):
                temp += chr(n)
        else:
            temp=value[0]
        result.append(temp)
    return "".join(result)
print(func("a-dA-C4-4"))

#247、“1234”转换为一个数字,要求不使用内置函数

s="1234"
result=0
for i in range(len(s)):
    result+=int(s[i])*(10**(len(s)-i-1))
print(result)

#248、统计一个字符串只出现一次的所有字母,将这些字母拼成一个新串,
#并且按照字母第一次在字符串出现的位置排序,不允许使用count,

s = "sdfkjk122Adkjjkkkaabbee"
letter_dict={}
one_time_letter={}
for i in s:
    if i.isalpha():
        if i not in letter_dict:
            letter_dict[i]=1
        else:
            letter_dict[i]+=1
print(letter_dict)
for k,v in letter_dict.items():
    if v==1:
        one_time_letter[k]=v
print(one_time_letter)
result=""
for k in one_time_letter.keys():
    result+=k
print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值