我一直坚持编程练习。我有一个基本的程序编写,练习要求我打印出框架堆栈。我尝试过的所有方法都没有打印出我需要的信息。
这是我的简单程序,
#! /usr/bin/python
import math
def square(x): # returns the sqare of x
return x*x
def hyp(x, y): # returns the size of vector (x,y)
return math.sqrt(square(x) + square(y))
def compVectLen(x1,y1, x2,y2): # compares the size of two vectors
return hyp(x1,y1) >= hyp(x2,y2)
print compVectLen(2,2, 7,7)
这就是练习要求显示堆栈帧的方式,
|---------------compVectLen---------------|
| Locals: x1=2,y1=2, x2=7,y2=7 |
| return hyp(x1,y1) >= hyp(x2,y2) |
|-----------------------------------------|
|---------------hyp(x1, y1)---------------|
| Locals: x=2,y=2 |
| return math.sqrt(square(x) + square(y)) |
|-----------------------------------------|
|----------------square(x)----------------|
| Locals: x=2, |
| return 2*2 |
|-----------------------------------------|
我尝试过的所有方法都给了我结果,但没有提供太多的信息而不是这种风格。
任何帮助都将不胜感激。
答案 0 :(得分:0)
中的
def compVectLen(x1,y1, x2,y2): # compares the size of two vectors
return hyp(x1,y1) >= hyp(x2,y2)
你没有给出任何条件。你只需返回hyp(x1,y1) >= hyp(x2,y2)
,它将始终返回x1,y1值更大..