課題があり、真の解決策を見つけることができませんでした。
def triple(n): #multiplies number with 3
return (n*3)
def square(n):
return (n**2) #takes second power of number
for i in range(1,11):
if triple(i) > square(i):
print((f"triple({i})=={triple(i)} square({i})=={square(i)}"))
triple(1)==3 square(1)==1
triple(2)==6 square(2)==4
最後の反復で何も出力せずに、値の 2 乗が値の 3 倍よりも大きい場合は、反復を停止する必要があります。
また、関数 triple と square は両方とも、反復ごとに 1 回だけ呼び出す必要があります。
私が試した他のこと
ls =[f"triple({i})=={triple(i)} square({i})=={square(i)}" for i in range(1,11) if triple(i) > square(i)]
for i in ls:
print(i)
私の答えをチェックするテストがあり、「印刷された行数が間違っています」と表示されます。コースの誰かに、各関数から取得した値を変数に格納する必要があると言われたばかりです。そして、これらは私が彼らが言ったことをやろうとしたことです