-5

そのため、学校では、ユーザーが数字を推測できるようにするプログラムを作成する必要があります。次のコードがあります。

import random

my_number=random.randrange(100)
player_number=605
i=int(0)
while player_number!=my_number :
    player_number=int(input("Guess what number I am thinking of :"))
    if player_number<my_number:
        print("Too low")
    else:
        print("Too high")
    print("... Attemp", i=i+1) 
print("Right")

というエラーメッセージが表示されます'i' is an invalid function。誰でも私を助けることができますか?

4

4 に答える 4

5

あなたの問題はここにあります:

print("... Attemp", i=i+1) 

このprint関数は、任意の数の位置引数と、形式のキーワード引数の小さなセットを取りますx = ...

i許可されたキーワード引数のセットにありません。

多分あなたは意味した:

print("... Attempt",i)
i += 1
于 2012-12-20T19:26:55.237 に答える
3

何をしようとしているのか正確にはわかりませんが、代入は Python のステートメントであり、式ではないため、 内では使用できませんprint。私はあなたがやりたいと思います

print("Attempt", i)
i = i+1
于 2012-12-20T19:27:15.343 に答える
2

このエラーは、次の行から発生します。

print("... Attemp", i=i+1)

私が知る限り、あなたはi++他の言語のようにi、インクリメントしてインクリメント前の値を返すようなことをしようとしています。

Python では、これを行うことはできません。別の行に配置してください。

print("... Attemp", i)
i += 1

エラーはname=value、関数呼び出しの内部がキーワード引数を指定するための構文であるためです。たとえば、を使用して次の関数を呼び出すことができ、呼び出しfoo(baz=2, bar=1)と同等になりますfoo(1, 2)

def foo(bar, baz):
    print('bar:', bar)
    print('baz:', baz)
于 2012-12-20T19:27:53.627 に答える
1

Python には「名前付きパラメーター」という機能があります。名前でパラメーターを渡すことができる場合、および

print("... Attemp", i=i+1) 

はまさにそれが行われる方法です: 最初のiここでは に渡すパラメーターの名前になりますが、printそのprintような名前付きパラメーターは理解されません。

于 2012-12-20T19:27:09.917 に答える