python3每日十题(七)


'''1 用户输入一个内容,判断里面是否包含了数字。'''
input_data=input('输入一段内容:')
for data in input_data:
      if data in '0123456789':
            print('输入的数据包含了数字')
            break
else:
    print('输入的数据没有包含数字') 

'''2 用户输入一个内容,判断一下输入内容的长度是否为5,是则打印是,否则打印否'''
input_data=input('输入一段内容:')
if len(input_data) == 5:
      print('输入的数据长度为5')     
else:
      print('输入的数据长度不为5') 
'''3 将一个字符串转换为元组'''
print(tuple(a))
'''4 将一个字符串转换为字典,例如{"a":"A","s":"m"......}'''
a = "aAsmr3idd4bgs7Dlsf9eAF"
#方法一:
print({str(a[i]):str(a[i+1]) for i in range(0,len(a),2)})
#方法二:遍历
d = {}
for i in range(0,len(a),2):
      d[a[i]] = a[i+1]
print(d)
'''5.请将 a 字符串的数字取出,并输出成一个新的字符串。'''
#方法一:filter
print(''.join(list(filter(lambda x:x.isdigit(),a))))
#方法二:遍历
result = []
for i in a:
      if i in '0123456789':
          result.append(i)
print(''.join(result))
'''6.请统计 a 字符串出现的每个字母的出现次数(忽略大小写,a 与 A 是同一个字母),并输出成一个字典。 例 {'a':3,'b':1}'''
a = "aAsmr3idd4bgs7Dlsf9eAF"
d = {}
for i in a:
      if d.get(i.lower()):#key存在
            d[i.lower()] +=1
      else:#key不存在
            d[i.lower()] =1
print(d)          
'''7.请去除a字符串多次出现的字母,仅留最先出现的一个,大小写不敏感。例'aAsmr3idd4bgs7Dlsf9eAF',经过去除后,输出 'asmr3id4bg7lf9e'''
b = 'Aasmr3idd4bgs7Dlsf9eAF'
new_list = []
for i in b:
      if i not in new_list:
            if (i>='A' and i<='Z') and (i.lower() not in  new_list ):
                new_list.append(i)
            elif (i>='a' and i<='z') and (i.upper() not in  new_list):
                new_list.append(i)
            elif not i.isalpha():
                new_list.append(i)

print(''.join(new_list))
'''8.按 a 字符串中字符出现频率从高到低输出到列表,如果次数相同则按字母顺序排列。'''
'''思路:先用字典存储每个字符出现的次数
        将字典按values的大小排序,相等的时候按key排序
'''
a = "aAsmr3idd4bgs7Dlsf9eAF"
a_list=[]
d = {i:a.count(i) for i in a}
values_list = sorted(set(d.values()))
keys_list = d.keys()
for i in range(len(values_list)):
      for j in keys_list:
            if values_list[i] == d[j]:
                  a_list.append(j)
      #相同values的排序
      a_list.sort()

print(a_list)
'''9 将所有的字符串变化为后一个字符串,比如“a”变成b,"z"编程A'''
def change_word(s):
      import string
      a_list=[]
      all_letters = string.ascii_letters
      for i in s:
            a_list.append(all_letters[(all_letters.index(i)+1)%len(all_letters)])
      return(''.join(a_list))
print(change_word('aAzZ'))
'''10 删除最开始一个字母、最后一个字母和中间的2个字母dd'''
#先转换为list,逐个遍历某个字母和相邻的等于要替换的字母时用切片去掉
a = "aAsmr3idd4bgs7Dlsf9eAF"
a_list=list(a[1:-1])
repalce_letters = 'dd'
for i in range(len(a_list)):
      if ''.join(a_list[i:i+len(repalce_letters)]) == repalce_letters:
            a_list = a_list[:i]+a_list[i+len(repalce_letters):]
            break
print(''.join(a_list))     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值