Python學習 字串處理

2022-02-27 08:42:33 字數 1722 閱讀 2437

'''題目內容:

「pig latin」是乙個英語兒童文字改寫遊戲,整個遊戲遵從下述規則:

(1). 母音字母是『a』、『e』、『i』、『o』、『u』。字母『y』在不是第乙個字母的情況下,也被視作母音字母。其他字母均為子音字母。例如,單詞「yearly」有三個母音字母(分別為『e』、『a』和最後乙個『y』)和三個子音字母(第乙個『y』、『r』和『l』)。

(2). 如果英文單詞以母音字母開始,則在單詞末尾加入「hay」後得到「pig latin」對應單詞。例如,「ask」變為「askhay」,「use」變為「usehay」。

(3). 如果英文單詞以『q』字母開始,並且後面有個字母『u』,將「qu」移動到單詞末尾加入「ay」後得到「pig latin」對應單詞。例如,「quiet」變為「ietquay」,「quay」變為「ayquay」。

(4). 如果英文單詞以子音字母開始,所有連續的子音字母一起移動到單詞末尾加入「ay」後得到「pig latin」對應單詞。例如,「tomato」變為「omatotay」, 「school」 變為「oolschay」,「you」 變為「ouyay」,「my」 變為「ymay 」,「ssssh」 變為「sssshay」。

(5). 如果英文單詞中有大寫字母,必須所有字母均轉換為小寫。

輸入格式:

一系列單詞,單詞之間使用空格分隔。

輸出格式:

按照以上規則轉化每個單詞,單詞之間使用空格分隔。

輸入樣例:

welcome to the python world are you ready

輸出樣例:

elcomeway otay ethay ythonpay orldway arehay ouyay eadyray

'''

def is_vowel(c):

###判斷是母音字元

return c in ['a','e','i','o','u']

#print(is_vowel('y'))

###輸入

string = input()

###初步處理

string = string.lower()

string = string.strip()

words = string.split()

###臨時儲存列表

change_string =

for word in words:

first = word[0]

if is_vowel(first):

###首字母是母音

word = word[:] + "hay"

else:

###首字母不是母音

if word[:2] =="qu":

###前兩字是「qu」

word = word[2:] + "quay"

else:

for i in range(1,len(word)):

###對每個word,遍歷字元

if is_vowel(word[i]) or (word[i] =='y'):

break

else:

first = first + word[i]

word = word[len(first):] + first + "ay"

###將改寫的word 存入臨時列表

for word in change_string:

print(word,end=" ")

print()

Python學習 字串

前面學了基本的python語法和內容後也會寫一些程式了,每寫完乙個程式都有莫大的自豪感 成就感,學習python一定要盡可能自己琢磨演算法和程式語言的使用,穩步提公升,語法又上線,演算法無止境,嘻嘻!今天決定好好介紹下字串 序列 字串的格式化輸出 以及字串的轉義字元。1 序列中的所有元素都是有編號的...

Python學習 字串

python的字串和c語言中的字串有著很多的差異,在python中無論是雙引號還是單引號中的字元都是字串。使用起來相對靈活。例如 this is a string 或者 this is a string 對於字串內部存在引號內容,在python中可以有一種簡易的做法 this is a string...

python學習字串

賦值 str1 abcdfeg 索引 str1 2 插入字串 str1 str1 2 插入字串 str1 2 str1.capitalize capitalize 把字串的第乙個字元改為大寫 casefold 把整個字串的所有字元改為小寫 center width 將字串居中,並使用空格填充至長度 ...