【发布时间】:2015-01-24 10:13:16
【问题描述】:
我正在研究上面提到的那本书。当我遇到一个简单的错误时,我正在解决一个问题。
问题:
编写一个程序,要求用户输入一个整数并打印两个整数
root和pwr,这样0 < pwr < 6和root**pwr就是 等于用户输入的整数。如果没有这样的整数对 存在,它应该打印一条消息。
这是我的代码:
x = int(raw_input('Enter an Integer:'))
root= int(x**0.5)
for pwr in range (1, 6) :
if x == root**pwr:
print 'root=', root
print 'pwr=', pwr
else:
print"There's no such pair"
输出是:
>>>
Enter an Integer:4
root= 2
pwr= 2
There's no such pair
>>>
错误是即使答案正确,它仍然输出There's no such pair。我该如何解决这个问题?
【问题讨论】:
-
找到解决方案后需要
break循环,否则自然结束并运行else块。见docs.python.org/2/tutorial/… -
非常感谢@jonrsharpe
标签: python python-2.7