【问题标题】:Introduction to Computation and Programming using Python, looping使用 Python 进行计算和编程的介绍,循环
【发布时间】:2015-01-24 10:13:16
【问题描述】:

我正在研究上面提到的那本书。当我遇到一个简单的错误时,我正在解决一个问题。

问题:

编写一个程序,要求用户输入一个整数并打印两个整数rootpwr,这样0 < pwr < 6root**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。我该如何解决这个问题?

【问题讨论】:

标签: python python-2.7


【解决方案1】:

谢谢@jonrsharpe

答案如下:

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
        break

else:
    print 'no such pair'

【讨论】:

    【解决方案2】:

    注意问题考虑到 0

    【讨论】:

      【解决方案3】:

      这是一条测试评论。这是我第一次在这里发表评论

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      • 2017-09-13
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多