一、题目:
1、输入一个字符串,输出其中每个字符的出现次数。要求使用标准库collotections中的Counter类。
2、输入一个字符串,输出其中只出现了一次的字符及其下标。
3、输入一个字符串,输出其中每个唯一字符最后一次出现的下标。
4、输入包含若干集合的列表,输出这些集合的并集。提示:使用reduce()函数和operator模块中的运算实现多个集合的并集。
5、输入一个字符串,输出加密后的结果字符串。加密规则为:每个字符的Unicode编码和下一个字符的Unicode编码相减, 用这个差的绝对值作为Unicode编码,对应的字符作为当前位置上字符的加密结果,最后一个字符是和第一个字符进行运算。
6、输入一个字符串,检查该字符串是否为回文(正着读和反着读都一样的字符串),如果是就输出Yes,否则输出No。要求使用切片实现。
二、代码展示:
# -*- coding: utf-8 -*-
'''
@Author : Jackma
@Time : 2020/10/20 22:19
@File : 2020_10_20.py
@Software: PyCharm
@URL : www.jackrma.com
@Copyright:博客所有权归本人和CSDN所有,如有转载请在显著位置给出博文
链接和作者姓名,否则本人将付诸法律。
@Version :
'''
# 1、输入一个字符串,输出其中每个字符的出现次数。要求使用标准库collotections中的Counter类。
# 2、输入一个字符串,输出其中只出现了一次的字符及其下标。
# 3、输入一个字符串,输出其中每个唯一字符最后一次出现的下标。
# 4、输入包含若干集合的列表,输出这些集合的并集。提示:使用reduce()函数和operator模块中的运算实现多个集合的并集。
# 5、输入一个字符串,输出加密后的结果字符串。加密规则为:每个字符的Unicode编码和下一个字符的Unicode编码相减,
# 用这个差的绝对值作为Unicode编码,对应的字符作为当前位置上字符的加密结果,最后一个字符是和第一个字符进行运算。
# 6、输入一个字符串,检查该字符串是否为回文(正着读和反着读都一样的字符串),如果是就输出Yes,否则输出No。要求使用切片实现。
# 1
def frequency():
'''
输入一个字符串,输出其中每个字符的出现次数
:return:
'''
from collections import Counter
text = input('请输入一个字符串:')
frequencies = Counter(text)
print(frequencies)
frequency()
# 2
def one():
'''
输入一个字符串,输出其中只出现了一次的字符及其下标
:return:
'''
text = input('请输入一个字符串:')
positions = [(ch, index) for index, ch in enumerate(text) if text.index(ch) == text.rindex(ch)]
print(positions)
one()
# 3
def lest():
'''
输入一个字符串,输出其中每个唯一字符最后一次出现的下标
:return:
'''
input('请输入一个字符串:')
dict1 = {'a': 0, 'b': 0, 'c': 0, 'd': 0, 'e': 0, 'f': 0, 'g': 0,
'h': 0, 'i': 0, 'j': 0, 'k': 0, 'l': 0, 'm': 0, 'n': 0,
'o': 0, 'p': 0, 'q': 0, 'r': 0, 's': 0, 't': 0, 'u': 0,
'v': 0, 'w': 0, 'x': 0, 'y': 0, 'z': 0}
num = 0 # 用于指示字符串的字符下标
def function(a, dict1, num):
for i in a:
num += 1
if i in dict1:
dict1[i] = num
return dict1
a = str(input())
function(a, dict1, num)
for x in dict1:
if dict1[x] != 0:
print("char:{}, last site:{}".format(x, dict1[x]))
lest()
# 4
def union():
'''
输入包含若干集合的列表,输出这些集合的并集
:return:
'''
from functools import reduce
lstA = eval(input("请输入一个列表:"));
print(reduce(lambda x, y: x | y, lstA));
union()
# 5
def encryption():
'''
输入一个字符串,输出加密后的结果字符串。加密规则为:每个字符的Unicode编码和下一个字符的Unicode编码相减,
用这个差的绝对值作为Unicode编码,对应的字符作为当前位置上字符的加密结果,最后一个字符是和第一个字符进行运算
:return:
'''
text = input('请输入一个字符串:')
result = [chr(abs(ord(ch) - ord(text[index + 1]))) for index, ch in enumerate(text[:-1])]
result.append(chr(abs(ord(text[-1]) - ord(text[0]))))
print(result)
encryption()
# 6
def palindrome():
'''
输入一个字符串,检查该字符串是否为回文(正着读和反着读都一样的字符串),如果是就输出Yes,否则输出No。要求使用切片实现
:return:
'''
str1 = input('请输入一个字符串')
str2 = str1[::-1]
if str1 == str2:
print('Yes')
else:
print('No')
palindrome()