我想將一個字串作為輸入,并將偶數字母轉換為大寫,奇數字母轉換為小寫。還有其他方法嗎?
def myfunc(word):
result = ''
index = 0
for letter in word:
if index % 2 ==0:
result = letter.lower()
else:
result =letter.upper()
index = 1
return result
uj5u.com熱心網友回復:
給這只貓剝皮還有很多有趣的方法,但這里有一個縮寫:
def myfunc(word):
action = {0: str.lower, 1: str.upper}
return ''.join([action[index % 2](letter)
for index, letter in enumerate(word)])
print(myfunc('hello world'))
uj5u.com熱心網友回復:
很多很多不同的方法來做到這一點,但這里有一個你可能喜歡的。它更簡潔一些,人們可能會認為它更“Pythonic”。
def myfunc(word):
# Convert everything to lowercase
word = word.lower()
# Convert to list of individual letters
letters = list(word)
# Convert every other character starting from the 2nd
# to uppercase
for i in range(1, len(word) 1, 2):
letters[i] = letters[i].upper()
# Convert back to string
return ''.join(letters)
uj5u.com熱心網友回復:
看起來提供了一個更 Pythonic 的解決方案,所以我想為多樣性提供一個稍微少一點的 Pythonic 解決方案。
def funnyCase(word):
i = 0
# convert everything to lowercase
word = word.lower()
# convert to a list of characters
letters = list(word)
# make it funny
for letter in letters:
# This is bitwise XOR. It's a different way to check even/odd.
if i^1==0:
letters[i] = letter.upper()
i
return ''.join(letters)
我希望您能理解 John Gordon 關于多種解決方案的評論。這就是編程的美妙之處——沒有一種方法可以做事。
編輯 - 我搞砸了。發生
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/417508.html
標籤:
上一篇:使用熊貓從一行中獲取價值
