2017-10-07 29 views
0

我正在編寫一個程序,將輸入的字詞更改爲拉丁語。我的代碼可以正常工作,除了大寫之外,所有內容都應該如此。如果輸入的單詞是以資本出租開始的,我想做第一個位置,即單詞[0]。我嘗試了很多方法,但似乎無法弄清楚。任何幫助,將不勝感激。修改字符串後保留第一個位置的大寫字母

word=input("Enter the word: ") 

word=word.lower() 

if word.isalpha(): 
    if word[0:len(word)] not in ' ': 
    if word[0] in 'aeiou': 
     word=word + 'yay' 
     print(word) 
    elif word[0:1] in 'qu': 
     word=word[2:]+word[0]+word[1] +'ay' 
     print(word) 
    elif word[0] not in 'aeiou': 
     while(word[0] not in 'aeiou'): 
     word=word[1:]+word[0:1] 
     word=word+'ay' 
     print(word) 

    else: 
    print("Invalid Word") 
else: 
    print("Invalid Word") 
+1

word = word.title() –

+0

我知道這就是這樣做的命令,但即時通訊問我如何適應它在這裏,而不必寫它4次不同? –

+1

請提供'輸入'和'輸出'樣本來更好地理解 –

回答

0

試試這個:

#!/usr/bin/python 

capitalize = False 

word=input("Enter the word: ") 

if word[0] in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ': 
    capitalize = True 

word = word.lower() 

if word.isalpha(): 
    if word[0:len(word)] not in ' ': 
    if word[0] in 'aeiou': 
     word=word + 'yay' 
    elif word[0:1] in 'qu': 
     word=word[2:]+word[0]+word[1] +'ay' 
    elif word[0] not in 'aeiou': 
     while(word[0] not in 'aeiou'): 
     word=word[1:]+word[0:1] 
     word=word+'ay' 
    else: 
    print("Invalid Word") 
else: 
    print("Invalid Word") 

if capitalize is True: 
    word = word.title() 

print(word) 
0

你可以試試這個方法:

word=input("Enter the word: ") 

if word[0].isupper() and word.isalpha(): 
    word=word.lower() 
    if word[0:len(word)] not in ' ': 
     if word[0] in 'aeiou': 
     word=word + 'yay' 
     print(word[0].upper() + word[1:]) 
     elif word[0:1] in 'qu': 
     word=word[2:]+word[0]+word[1] +'ay' 
     print(word[0].upper() + word[1:]) 
     elif word[0] not in 'aeiou': 
     while(word[0] not in 'aeiou'): 
      word=word[1:]+word[0:1] 
     word=word+'ay' 
     print(word[0].upper() + word[1:]) 
    else: 
     print("Invalid Word") 

elif word[0].islower() and word.isalpha(): 
    word=word.lower() 
    if word[0:len(word)] not in ' ': 
     if word[0] in 'aeiou': 
     word=word + 'yay' 
     print(word) 
     elif word[0:1] in 'qu': 
     word=word[2:]+word[0]+word[1] +'ay' 
     print(word) 
     elif word[0] not in 'aeiou': 
     while(word[0] not in 'aeiou'): 
      word=word[1:]+word[0:1] 
     word=word+'ay' 
     print(word) 
    else: 
     print("Invalid Word") 

else: 
    print("Invalid Word") 

爲了更好地理解這裏編譯above代碼。

相關問題