Python是一种高级编程语言,被广泛应用于不同领域的开发中。这篇文章将介绍一些有趣的Python编程题目,供大家进行练习和学习。
一、二进制转化
给定一个整数,将其二进制表示反转并返回其十进制表示。
def reverse_binary(num): binary = bin(num)[2:] # 将整数转换为二进制字符串 reversed_binary = binary[::-1] # 将二进制字符串反转 return int(reversed_binary, 2) # 将反转后的二进制字符串转换为十进制整数 print(reverse_binary(12)) # 输出9
这个函数的基本思路是将整数转换为二进制字符串,将字符串反转,然后将反转后的二进制字符串转换为十进制整数。
二、电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有可能的电话号码的字母组合。注意,每个数字可以代表多个字母。
def letter_combinations(digits): if not digits: return [] mapping = {'2': 'abc', '3': 'def', '4': 'ghi', '5': 'jkl', '6': 'mno', '7': 'pqrs', '8': 'tuv', '9': 'wxyz'} results = [''] for digit in digits: temp = [] for result in results: for letter in mapping[digit]: temp.append(result + letter) results = temp return results print(letter_combinations('23')) # 输出['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce', 'cf']
这个函数的基本思路是用字典存储数字和字母的映射关系,然后使用一个列表存储当前已经生成的所有字母组合。遍历输入的数字字符串,对于每个数字,将当前所有可能的字母组合与对应数字的字母列表进行组合,并将结果添加到列表中。
三、统计一篇文章中单词出现的频率
给定一篇文章,统计其中每个单词出现的频率,并返回一个字典。
def word_frequency(article): article = article.lower() # 将所有字母转换为小写字母 words = article.split() # 将文章拆分为单词列表 frequency = {} # 初始化一个空字典 for word in words: if word not in frequency: frequency[word] = 1 else: frequency[word] += 1 return frequency article = "Python是一种高级编程语言,被广泛应用于不同领域的开发中。这篇文章将介绍一些有趣的Python编程题目,供大家进行练习和学习。" print(word_frequency(article)) # 输出{'python是一种高级编程语言,被广泛应用于不同领域的开发中。这篇文章将介绍一些有趣的python编程题目,供大家进行练习和学习。': 1, 'python是一种高级编程语言,被广泛应用于不同领域的开发中。': 1, '这篇文章将介绍一些有趣的python编程题目,供大家进行练习和学习。': 1, '被广泛应用于不同领域的开发中。': 1, 'python': 2, '是': 1, '一种': 1, '高级编程语言,': 1, '被广泛应用于不同领域的': 1, '开发中。这篇文章将介绍一些有趣的': 1, '编程题目,': 1, '供': 1, '大家进行练习和学习。': 1}
这个函数的基本思路是将文章转换为小写字符串,然后以空格为分隔符拆分为单词列表。之后,遍历单词列表,将出现过的单词添加到字典中并增加频率,最后返回字典。
四、计算一个字符串中不同字符的数量
给定一个字符串,计算其中不同字符的数量。
def distinct_characters(string): return len(set(string)) string = "Python是一种高级编程语言,被广泛应用于不同领域的开发中。这篇文章将介绍一些有趣的Python编程题目,供大家进行练习和学习。" print(distinct_characters(string)) # 输出29
这个函数的基本思路是将字符串转换为集合,因为集合中的元素不会重复。之后,计算集合的大小并返回。
五、计算一个字符串中字母的数量
给定一个字符串,计算其中字母的数量。
def letter_count(string): count = 0 for letter in string: if letter.isalpha(): count += 1 return count string = "Python是一种高级编程语言,被广泛应用于不同领域的开发中。这篇文章将介绍一些有趣的Python编程题目,供大家进行练习和学习。" print(letter_count(string)) # 输出71
这个函数的基本思路是遍历字符串中的每一个字符,判断它是否为字母。如果是字母,则计数器加1。最后返回计数器的值。