[英]python -Weird Print… HW
編寫一個名為weird()
的函數,該函數將三個字符串作為參數並向后打印最長的一個。 (在平局的情況下,應選擇作為較早參數的字符串。
函數調用:
weird("I", "Love", "Python")
應導致以下終端輸出:
nohtyP
這是我到目前為止所做的..沒有正確地處理草稿部分...
running = True
while running:
word = raw_input("Enter word:")
if word[0] in "aeiou":
print word + "yay"
else:
print word[1:] + word[0] + "ay"
更快的方法(它適用於任意數量的字符串)是:
def weird(*s):
return sorted(s,key=len,reverse=True)[0][::-1]
不幸的是,我本人還是python的新手,但是我看到的最簡單的方法是參考Python中的“反向字符串”,以了解反向字符串的簡單方法。 對於選擇哪個字符串反轉的邏輯,最簡單的方法是創建一個列表並根據長度存儲最大字符串。
這是一個可行的解決方案,在另一個線程上使用反向方法。 理想情況下,此方法僅將一個列表作為參數,因為此方法適用於所有大小的輸入。
def weird(strOne, strTwo, strThree):
strings = [strOne, strTwo, strThree]
max = ""
for x in strings:
if len(max) < len(x):
max = x
print max[::-1]
weird("I", "Love", "Python")
def weird(str1, str2, str3):
# sort them according to length
# guaranteed stable sort
strings= sorted( (str1, str2, str3), key=len)
# maximum_length is the length of the last one
maximum_length= len(strings[-1])
# now return the earliest (str1 < str2 < str3)
# having len() == maximum_length
for a_string in reversed(strings):
if len(a_string) < maximum_length:
break
result= a_string
return result[::-1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.