23

2 つの文字列を引数として受け取り、長い方を返す関数を作成します。文字列の長さが等しい場合は、アルファベット順で最初に来るものを返します。

これは私がこれまでに持っているものです:

    def strings(x,y):
        if len(x) > len(y):
            return x
        if len(x)==len(y):
            return 
        else:
            return y

2番目のifステートメントでアルファベット順に最初に来る文字列を選択するように、コードをどのように書くのか疑問に思っています。

4

3 に答える 3

16

文字列を直接比較できます。 x<y「x はアルファベット順で y の前に来ますか?」という意味です。したがって、2 番目のブロックを次のように置き換えることができます。

if len(x) == len(y) and x < y:
    return x
于 2012-11-12T21:48:22.340 に答える
12

これはうまくいくはずです:

if len(x)==len(y):
   return min(x,y)
于 2012-11-12T21:40:07.810 に答える
5
def f(x,y):
    return len(x) != len(y) and max([x,y],key=len) or min(x,y)
于 2012-11-12T21:45:46.977 に答える