设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 5029|回复: 2
打印 上一主题 下一主题

回文数的题 不知道为什么没有结果

[复制链接]

2

主题

0

好友

49

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2013-8-17 23:42:12 |只看该作者 |倒序浏览
i=0
while i <= 200:
    a = i * i
    b = list(str(a))         # 先要把数字变为字符串  在把字符串变成列表
    if b.reverse() == list(str(a)):  # 如果该列表的转置 同 原列表相同 即为回文数
        print i
    i = i + 1


但是不知道为什么运行之后 没有结果呢?
回复

使用道具 举报

0

主题

0

好友

58

积分

注册会员

Rank: 2

沙发
发表于 2013-8-18 13:33:40 |只看该作者
因为b.reverse() == list(str(a))永远值为False。b.reverse() 这个method没有return值 (或者return的是None?)。None 不等于list(str(a))。
我改了一下你的code就可以运行了:
  1. i=0

  2. while i < 200:
  3.     num = i * i
  4.     numList = list(str(num))
  5.     numList.reverse()
  6.    
  7.     if numList == list(str(num)):
  8.         print i,
  9.    
  10.     i = i + 1
复制代码
回复

使用道具 举报

2

主题

0

好友

49

积分

新手上路

Rank: 1

板凳
发表于 2013-8-18 19:07:05 |只看该作者
SH40Z1HU1 发表于 2013-8-18 13:33
因为b.reverse() == list(str(a))永远值为False。b.reverse() 这个method没有return值 (或者return的是Non ...

谢谢
我又查了一些资料
原来list 的 reverse 操作之后
实际上 修改了 原list  而不是创建了一个新的list
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-12 23:35 , Processed in 0.016663 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部