求水仙花程序无法运行
for number in (100,1000):i="number"
if number==int(i)**3+(inti)**3+int(i)**3:
print(number)
本帖最后由 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)**3+int(i)**3+int(i)**3:
print(number)
本帖最后由 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) ** 3 + (int(i)) ** 3 + int(i) ** 3:
print(number) for number in range(100,1000):
i=str(number)
if number==int(i)**3+int(i)**3+int(i)**3:
print(number) zltzlt 发表于 2020-7-14 18:12
1. 是 range(100, 1000) 不是 (100, 1000),因为题目要求是遍历 100 ~ 999 这个范围而不是遍历 100 和 1000 ...
萌新一个,想问下第三行第二个int外面为什么又要再加括号呢 星空下的行者G 发表于 2020-7-15 23:34
萌新一个,想问下第三行第二个int外面为什么又要再加括号呢
调用 int() 函数必须要加括号。 如果你的问题已解决,请设置【最佳答案】 水仙花不是用%取余和//地板除做的吗?这是哪一节的,不过这样看起来好简单,直接用下标取值。。
页:
[1]