私は、Python によるコンピューター プログラミングの原則を教える本を読んでいます。ユーザーに整数を入力するように要求し、0 < pwr < 6 で root^pwr がユーザーによって入力された整数に等しくなるように、root と pwr の 2 つの整数を出力するプログラムを作成します。そのような整数のペアが存在しない場合は、その旨のメッセージを出力する必要があります。これが要求することを行うプログラムを書きました。リストの数字で方程式をテストすることについて、1 つだけ質問があります。これが私のコードです:
x = int(raw_input('Enter an integer: '))
root = 0
pwr = [1,2,3,4,5]
listnum = 0
for root in range(0, x + 1):
while pow(root, pwr[listnum]) < x:
root += 1
if pow(root, pwr[listnum]) == x:
print str(root) + '^' + str(pwr[listnum]) + ' = ' + str(x)
break
listnum += 1
if pow(root, pwr[listnum]) == x:
print str(root) + '^' + str(pwr[listnum]) + ' = ' + str(x)
break
listnum += 1
if pow(root, pwr[listnum]) == x:
print str(root) + '^' + str(pwr[listnum]) + ' = ' + str(x)
break
listnum += 1
if pow(root, pwr[listnum]) == x:
print str(root) + '^' + str(pwr[listnum]) + ' = ' + str(x)
break
listnum += 1
if pow(root, pwr[listnum]) == x:
print str(root) + '^' + str(pwr[listnum]) + ' = ' + str(x)
break
listnum = 0
if pow(root, pwr[listnum]) == x:
break
else:
print 'No combinations within parameters exist'
pow(root, pwr[listnum]) < x listnum += 1...if...breakを繰り返し繰り返さなくても、5 つのインクリメントすべてについてテストする方法を知りたいです。質問が不明確な場合は、さらに詳しく説明することができます。この正確な問題に関する質問を見たことがありますが、私が持っている特定の質問に明確に答えている人はいないので、質問を再投稿するつもりはありません. 他に何か提案があれば、よろしくお願いします。ありがとう!