python之特殊单词

题目描述:有一种特殊的英文单词,它的相邻字母对之间的“距离”不断增加。如单词subway,它的相邻字母对分别为 (s, u), (u, b), (b, w), (w, a), (a, y), 字母之间的距离依次为2,19,21,22,24(如a是第1个字母,y是第25个字母,a和y的距离为24)。编写函数is_special_word(word),word为输入单词字符串,如为特殊单词,返回True;否则返回False。 输入:单词 输出:如为特殊单词,返回True;否则返回False。

输入样例:subway 

输出样例:True

方法1:

def is_special_word(word):
# 定义一个空的列表,用于存储字母之间的距离
distances = []
# 使用for循环遍历单词的每个字母,需注意循环范围
for i in range(len(word)-1):
# 计算相邻字母的距离,并将其添加到列表distances中
distance = ord(word[i+1])-ord(word[i])
distances.append(distance)
# 使用for循环遍历列表distances,需注意循环范围
    for j in range(len(distances)-1):
# 检查相邻字母距离是否按规律递增,如果有不符合的直接返回False
        if distances[j]>=distances[j+1]:
        return False
# 如果检查通过,即相邻字母距离按规律递增,返回True
return True

方法2:

word=list(input())
distance=[]
for i in range(len(word)-1):
    dis=abs(ord(word[i+1])-ord(word[i]))
    distance.append(dis)
for j in range(len(distance)-1):
    if distance[j]>=distance[j+1]:
        print('False')
        break
else:
    print('True')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python是目前非常流行的编程语言之一,其灵活性和强大的功能使其成为数据科学、人工智能等多个领域的首选。在Python,可以使用简单的代码实现对文本单词出现次数的统计,这对于分析文本分布和制定词云图等非常有用。 下面是一个简单的Python代码示例,用于统计文本单词出现的次数: ``` # 打开文件 file = open("text.txt", "r") # 创建一个存储单词出现数量的字典 word_count = {} # 循环遍历文本的每一行 for line in file: # 将每一行都转换为单词列表 words = line.strip().split(" ") # 在单词列表循环遍历每一个单词 for word in words: # 将单词转换为小写,去除特殊字符,例如标点符号和空格 word = word.lower().strip(".,?!") # 检查单词是否已经存在于字典,如果存在,将计数器加1,否则将单词添加到字典并将计数器设置为1 if word in word_count: word_count[word] += 1 else: word_count[word] = 1 # 关闭文件 file.close() # 循环遍历字典,输出每个单词和它出现的次数 for word, count in word_count.items(): print(word, count) ``` 上述代码的基本思路是遍历文本的每一个单词,并使用字典记录每个单词出现的次数。具体来说,代码首先打开文件并创建一个空的字典。然后循环遍历文本的每一行,将每一行都分割为单词列表。接着在单词列表循环遍历每一个单词,并对每个单词进行清洗和处理。最后,对字典进行遍历,输出每个单词和它出现的次数。 这个代码示例虽然简单,但它可以作为一个基础版本,可以通过添加更多的功能来实现更复杂的单词统计分析。例如,可以使用正则表达式来处理更复杂的文本清洗工作,并将单词出现的频率以图表的形式展示出来,以进一步分析单词在文本的分布情况。无论用于哪种用途,这个Python单词统计代码都可以作为入门者学习Python编程的良好基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值