0

私はPythonが初めてです。それをそこに置くだけです。

私がやりたいことは、関数の出力を、別の関数が出力する文字列リテラルに追加することです。

これはケースです:

**

def prime(n):
    **blahh blah blah....**
    if z == True:
        return " and prime"
    else:
        return ""
def happyPrime(n):
     **more blah blah blah**
            if n == 1:
                print ("Number is happy%s!" % prime)
                break
            if n in visited:
                print ("Number is sad%s!" % prime)
            visited.add(n)

[コード スニペットのインデントは無視してください。StackOverflow により、それらが正しく表示されません。] もちろん、意図した結果は、モジュロがある場所に、他の関数が返したものを追加することです。私は間違った方法でそれにアプローチしている可能性があると思います。

4

2 に答える 2

1

ここ:

def happyPrime(n):
     **more blah blah blah**
            if n == 1:
                print ("Number is happy%s!"  %  prime(n))
                break
            if n in visited:
                print ("Number is happy%s!"  %  prime(n))
            visited.add(n)

関数prime(n)は文字列を返します。そのため%s、返された文字列に置き換えられます。

または、返された文字列を連結することもできます。例えば ​​:

>>> def foo(n):
        if n == True:
            return "yay"
        else:
            return "boo"

>>> def happyPrime(n):
        print "bar " + foo(n)

>>> happyPrime(True)
bar yay

>>> happyPrime(False)
bar boo
于 2013-05-11T17:51:50.890 に答える
0

%s が prime(n) の結果を返すようにしたい場合は、prime に引数が必要なため、引数を指定する必要があります。見た目からして、True または False のいずれかです。

print ("number is happy%s!" % prime(True))

于 2013-05-11T17:51:06.520 に答える