meisner7 2021-11-18 07:33 采纳率: 65.2%
浏览 67
已结题

python基础题,请用基础方法解决,循环用while不用for

注明元音字母为a,e,i,o,u.y

1 编写一个last_consonant函数,它以一个单词作为参数,并返回两个返回值:其最后一个辅音在列表中的的位置以及最后一个辅音是什么(对于列表,我们将考虑第一个字母的索引为零)。我们不会处理单词不包含辅音的问题。

示例: last_consonant('arrivee')vaut 4, 'v'

2 编写一个double_consonant函数,它接受一个单词作为参数并有两个返回值:一个布尔值等于True如果单词包含一个双辅音(连续两次相同的辅音),在这种情况下,返回的第二个值是加倍的辅音;如果没有双辅音,函数应该返回False和None。 有关信息:为简化练习,我们不会在包含多个双辅音的单词(例如,“successor”)上测试您的功能。

例子:

double_consonne('arrivee') vaut True, 'r'.
double_consonne('bonbon') vaut False, None
double_consonne('reussite') vaut True, 's'
3 编写一个函数envers,该函数将列表li作为参数(注意,不是单词,与本练习中的其他函数不同),并通过颠倒元素的顺序返回从li获得的列表。

Exemple: envers(['a', 'b', 'c', 'd']) vaut ['d', 'c', 'b', 'a']

4 编写一个回文函数,该函数将一个单词作为参数并返回一个布尔值,指示该单词是否是一个回文。回文是从右到左阅读时保持不变的单词,而不是通常的从左到右的顺序。

Exemple: palindrome('ici') vaut True mais palindrome('aller') vaut False.

  1. 编写一个函数mot_autorise以一个单词和一个禁用单词列表作为参数,如果该单词被授权,则返回True,如果该单词被禁用,则返回False。
    Exemple:

mot_autorise('fric', ['sous', 'fric', 'thune', 'ble']) vaut False
mot_autorise('argent', ['sous', 'fric', 'thune', 'ble']) vaut True

  • 写回答

3条回答 默认 最新

  • 辉煌仪奇 2021-11-18 09:46
    关注
    alp = ['a', 'e', 'i', 'o', 'u', 'y']
    
    
    def last_consonant(w):
        global alp
        i = len(alp) - 1
        while i > -1:
            if w[i] not in alp:
                return i,w[i]
            i -= 1
    
    
    def double_consonant(w):
        global alp
        i = 0
        while i < (len(w) - 1):
            if w[i] == w[i + 1]:
                if w[i] not in alp:
                    return True, w[i]
            i += 1
        return False, None
    
    
    def envers(li):
        return li[::-1]
    
    
    def palindrome(w):
        return w == w[::-1]
    
    
    def mot_autorise(w, li):
        return w not in li
    
    
    if __name__ == '__main__':
        word = input(">>>")
        lista = ['a', 'b', 'c', 'd']
        x = last_consonant(word)
        print(x)
        x = double_consonant(word)
        print(x)
        x = envers(lista)
        print(x)
        w = 'noon'
        x = palindrome(w)
        print(x)
        winj = ['sous', 'fric', 'thune', 'ble']
        x = mot_autorise(word, winj)
        print(x)
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月18日