我一直在尝试编写一个函数,它接受一个正方形的值并计算它的对角线:
def diagonal(side):
return side*cmath.sqrt(2)
def main():
diagonal(1) # Evaluating for the specific case that side = 1
问题#1:
问题#2:
cmath
库的情况下取平方根?当我尝试从用户侧面获取值时,我也看不到任何内容(请检查下面的代码)。
def diagonal(side):side = int(input("Side measure (integer): "))
return side*cmath.sqrt(2)
def main():
diagonal(1) # Evaluating for the specific case that side = 1
问题#3:
main()
之后或Gin.joins(:botanicals).where("botanicals.name LIKE ?", "%#{@botanical.name}%")
之后要求正方形的内部的一侧?谢谢。
答案 0 :(得分:1)
首先,与C或Java等语言不同,Python实际上并没有寻找main
函数作为进入脚本的第一个点。因此,main
函数不会自动执行。你需要在任何函数之外调用它。最好有一个main
函数,然后是以下表格中的一些代码:
if __name__ == "__main__":
main()
当您将脚本作为另一个脚本中的模块导入时,这可以防止无意中调用main函数。
其次,您需要打印才能看到任何输出。在Python 3中:
def main():
print(diagonal(1))
在Python 2中它将是print diagonal(1)
(没有括号 - 在Python 2中,它是关键字,而不是函数)
对于这两件事,您现在应该看到输入提示和输出。但是为了解决问题3,我会将输入提示放在main
函数中,而不是diagonal
函数中;这作为角色的分工更有意义。所以:
import cmath # don't forget to import!
def diagonal(side):
return side*cmath.sqrt(2)
def main():
userInput = int(input("Side measure (integer): "))
answer = diagonal(userInput)
print(answer)
if __name__ == "__main__":
main()
至于问题2,我不知道,所以我会接受@ gonczor的回答。
答案 1 :(得分:0)
问题#1:
def diagonal(side):
return side*cmath.sqrt(2)
def main():
return diagonal(1)
问题#2和3: 无论如何,我会这样做:
def diagonal(side):
return side**0.5
def main():
side = float(input('type the side: '))
# side =float((raw_input('type the side: ')) # this input is valid too
return diagonal(side)
代码来自IDE:
>>> def diagonal(side):
... return side**0.5
>>> def main():
... side = float(input('type the side: '))
... # side =float((raw_input('type the side: ')) # this input is valid too
... print(diagonal(side))
>>> main()
type the side: >? 5
2.23606797749979
答案 2 :(得分:0)
只需在主要方法中加入print diagonal(1)
,而不只是diagonal(1)
:
def main():
side = input("Side measure (integer): ")
print (diagonal(side))
main()
那应该是你的main()
。