黑马程序员技术交流社区

标题: python 语言学习 [打印本页]

作者: laiminghui    时间: 2013-5-20 12:21
标题: python 语言学习
为什么老有报错:
求高手解答
x=16
ans = 0
if x >= 0:
    while ans*ans < x:
        ans = ans + 1
        print 'ans =', ans
    if ans*ans != x:
        print x, 'is not a perfect square'
    else: print ans
else:  print x, 'is a negative number'   

我使用的  python 2.7版本
作者: 萧萧北    时间: 2013-6-15 09:29
楼主童鞋,if x >= 0 这条if判断好像用不着吧
因为一开始你就定义了x=16了啊,建议你去掉这条if 和最后那条else语句试试,
我这没有python 2.7,现在用java给你实现了一下,你看下是不是你想要的结果:
  1. public static void main(String[] args)
  2.         {               
  3.                 int x=16;
  4.                 int ans=0;
  5.                 while(ans*ans<x)
  6.                 {
  7.                         ans = ans + 1;
  8.                         System.out.println("ans ="+ans);                       
  9.                 }
  10.                 if(ans*ans != x)
  11.                         System.out.println(x+"is not a perfect square");
  12.                 else
  13.                         System.out.println(ans);
  14.         }
复制代码

作者: laiminghui    时间: 2013-6-17 14:26
萧萧北 发表于 2013-6-15 09:29
楼主童鞋,if x >= 0 这条if判断好像用不着吧
因为一开始你就定义了x=16了啊,建议你去掉这条if 和最后那条 ...

:handshake
作者: 孙百鑫    时间: 2013-6-22 01:47
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2