鱼C论坛

 找回密码
 立即注册
查看: 1349|回复: 4

[已解决]哪位大神看下,这是什么原因,谢谢!!

[复制链接]
发表于 2019-2-15 15:21:33 | 显示全部楼层 |阅读模式
20鱼币
代码和报错信息如下所示,这是怎么回事呢,要怎么改正,望大神指教!

代码:
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
print('************测试技术************')
for x in range(100,999):
        num = x
        y = (num/100)**3+[(num%100)/10]**3+(num%100%10)**3
        if y==x:
                print(y)



报错信息:

Traceback (most recent call last):
  File "计算100~999之间的水仙花数.py", line 6, in <module>
    y = (num/100)**3+[(num%100)/10]**3+(num%100%10)**3
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
最佳答案
2019-2-15 15:21:34
中括号是列表,小括号才表示计算优先级

最佳答案

查看完整内容

中括号是列表,小括号才表示计算优先级
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-2-15 15:21:34 | 显示全部楼层    本楼为最佳答案   
中括号是列表,小括号才表示计算优先级
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-2-15 15:25:09 | 显示全部楼层
[(num%100)/10]**3改为((num%100)/10)**3
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-2-15 15:31:36 | 显示全部楼层
本帖最后由 幻千城12 于 2019-2-15 15:35 编辑

报错的原因是列表类型不支持幂次方操作,此外同在y=这句要用//地板除
  1. for x in range(100,999):
  2.     num = x
  3.     y = (num//100)**3+((num%100)//10)**3+(num%100%10)**3
  4.     if y==x:
  5.         print(y)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-2-15 15:42:22 | 显示全部楼层
提示的很清楚了,学会看提示,你是数字和列表加
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-15 03:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表