如何有选择地在python中重复程序

发布于 2021-01-29 17:08:09

我正在学习python,并有一个快速的问题。

我必须编写代码来找到多维数据集根,这已经完成。我想给用户选择计算另一个多维数据集根或退出的选项。

这是我想出的:

x = int(raw_input('Enter an integer:   '))

## start guessing with 0 
ans = 0

while ans*ans*ans < abs(x):
    ans = ans + 1
    print 'current guess =', ans

print 'last guess = ', ans
print 'ans*ans*ans = ', ans*ans*ans


##if its a perfect cube

if ans*ans*ans == abs(x):
## perfect, but negative
    if x<0:
            ans = -ans
    print 'Cube root of ' + str(x)+ ' is ' + str(ans)

## If its not a cube at all    
else:
    print x, 'is not a perfect cube'



## Now to start a new calculation
again = raw_input('Find another perfect cube? (Y/N)')

if again == "N":
    quit
if again == "Y":

万一该人想做另一个问题并选择“ Y”,下一步该怎么做?

关注者
0
被浏览
41
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以将所有内容放入一个函数中:

    def my_func():
       x = int(raw_input('Enter an integer:   '))
    
       ## start guessing with 0 
       ans = 0
    
       while ans*ans*ans < abs(x):
           ans = ans + 1
           print 'current guess =', ans
    
       print 'last guess = ', ans
       print 'ans*ans*ans = ', ans*ans*ans
    
    
       ##if its a perfect cube
    
       if ans*ans*ans == abs(x):
       ## perfect, but negative
           if x<0:
                 ans = -ans
           print 'Cube root of ' + str(x)+ ' is ' + str(ans)
    
       ## If its not a cube at all    
       else:
           print x, 'is not a perfect cube'
    
    
    
       ## Now to start a new calculation
       again = raw_input('Find another perfect cube? (Y/N)')
    
       if again == "N":
           quit
       if again == "Y":
           my_func()
    
    if __name__ == '__main__':
        my_func()
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看