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.
- 编写一个函数mot_autorise以一个单词和一个禁用单词列表作为参数,如果该单词被授权,则返回True,如果该单词被禁用,则返回False。
Exemple:
mot_autorise('fric', ['sous', 'fric', 'thune', 'ble']) vaut False
mot_autorise('argent', ['sous', 'fric', 'thune', 'ble']) vaut True
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)
vaut意思是“是”,“is”
word = input(">>>")
alp = ['a', 'e', 'i', 'o', 'u', 'y']
def last_consonant(w):
for i in range(-1, -len(w), -1):
if w[i] not in alp:
return len(w) + i, w[i]
x = last_consonant(word)
print(x)
def double_consonant(w):
for i in range(len(w) - 1):
if w[i] == w[i+1] and (w[i] not in alp):
return True, w[i]
return False, None
x = double_consonant('bonbon')
print(x[0], x[1])
def envers(li):
return li[::-1]
print(envers(['a', 'b', 'c', 'd']))
def palindrome(w):
return w == w[::-1]
print(palindrome('ic'))
def mot_autorise(w, li):
return w not in li
print(mot_autorise('argent', ['sous', 'fric', 'thune', 'ble']))