鱼C论坛

 找回密码
 立即注册
查看: 1893|回复: 7

[已解决]求水仙花程序无法运行

[复制链接]
发表于 2020-7-14 18:08:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
for number in (100,1000):
    i="number"
    if number==int(i[0])**3+(inti[1])**3+int(i[2])**3:
        print(number)
最佳答案
2020-7-14 18:11:37
本帖最后由 Twilight6 于 2020-7-14 18:14 编辑


第一个错误:

你把 number 变量转为字符串 要用 str 函数 ,不能直接加 引号,否则代表的是 'number' 字符串

第二个错误:

你的第二个 int 括号位置错了,订正下即可

第三个错误:

把 for number in (100,1000) 改为 for number in range(100,1000)

因为 (100,1000) 表示的是个元组内有 100 和 1000 两个元素 , 而 range(100,1000) 表示的是从 100~ 999 个整数序列

正确代码:
for number in range(100,1000):
    i = str(number)
    if number == int(i[0])**3+int(i[1])**3+int(i[2])**3:
        print(number)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-14 18:11:37 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-7-14 18:14 编辑


第一个错误:

你把 number 变量转为字符串 要用 str 函数 ,不能直接加 引号,否则代表的是 'number' 字符串

第二个错误:

你的第二个 int 括号位置错了,订正下即可

第三个错误:

把 for number in (100,1000) 改为 for number in range(100,1000)

因为 (100,1000) 表示的是个元组内有 100 和 1000 两个元素 , 而 range(100,1000) 表示的是从 100~ 999 个整数序列

正确代码:
for number in range(100,1000):
    i = str(number)
    if number == int(i[0])**3+int(i[1])**3+int(i[2])**3:
        print(number)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-14 18:12:10 | 显示全部楼层
本帖最后由 zltzlt 于 2020-7-14 18:14 编辑

1. 是 range(100, 1000) 不是 (100, 1000),因为题目要求是遍历 100 ~ 999 这个范围而不是遍历 100 和 1000 这两个数字

2. i = "number" 这一句只是将 i 赋值为 "number" 字符串,猜你是想将 number 转化为字符串再赋值给 i,应该写成 i = str(number)

3. 第三行 int() 漏了括号

正确代码如下:
for number in range(100, 1000):
    i = str(number)
    if number == int(i[0]) ** 3 + (int(i[1])) ** 3 + int(i[2]) ** 3:
        print(number)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-14 18:15:12 | 显示全部楼层
for number in range(100,1000):
    i=str(number)
    if number==int(i[0])**3+int(i[1])**3+int(i[2])**3:
        print(number)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-15 23:34:09 | 显示全部楼层
zltzlt 发表于 2020-7-14 18:12
1. 是 range(100, 1000) 不是 (100, 1000),因为题目要求是遍历 100 ~ 999 这个范围而不是遍历 100 和 1000 ...

萌新一个,想问下第三行第二个int外面为什么又要再加括号呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-16 18:56:24 | 显示全部楼层
星空下的行者G 发表于 2020-7-15 23:34
萌新一个,想问下第三行第二个int外面为什么又要再加括号呢

调用 int() 函数必须要加括号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-16 19:10:05 | 显示全部楼层
如果你的问题已解决,请设置【最佳答案】
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-16 20:43:12 | 显示全部楼层
水仙花不是用%取余和//地板除做的吗?这是哪一节的,不过这样看起来好简单,直接用下标取值。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 12:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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