鱼C论坛

 找回密码
 立即注册
查看: 1847|回复: 5

[已解决]请问这个是错在那里,他只是显示的函数的值

[复制链接]
发表于 2017-5-26 17:40:04 | 显示全部楼层 |阅读模式

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

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

x
import math
for i in range(1000):
    i = 0
    x = int(math.sqrt(i + 100))
    x = int(math.sqrt(i + 287))
    if x * x == 1 + 100 and y * y == i + 287:
    return i
print(i)
最佳答案
2017-5-26 21:01:54
不知道该怎么说。。。
自己校对吧。。。
  1. import math
  2. for i in range(10000):
  3.     x = int(math.sqrt(i+100))
  4.     y = int(math.sqrt(i+287))
  5.     if (x * x == i + 100) and (y * y == i + 287):
  6.         print(i)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-26 18:30:00 | 显示全部楼层
你这个代码
if后面没东西了?你加冒号干什么
return是用来做函数的返回的,你没有函数return什么?
还有i这里是局部变量,print的是全局的变量,这两个东西不是一个货
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-26 18:55:40 | 显示全部楼层
你的for循环每次开始都定义了i=0 。所以无论你i怎么在range(1000)里面迭代,他的值都是0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-26 21:01:54 | 显示全部楼层    本楼为最佳答案   
不知道该怎么说。。。
自己校对吧。。。
  1. import math
  2. for i in range(10000):
  3.     x = int(math.sqrt(i+100))
  4.     y = int(math.sqrt(i+287))
  5.     if (x * x == i + 100) and (y * y == i + 287):
  6.         print(i)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-27 08:17:42 | 显示全部楼层
分明就是行缩进的问题  是不是indented error!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-27 09:12:44 | 显示全部楼层
虽然不明白,但是感觉if 语句不太对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-27 18:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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