1

好的,所以我有一个名为 DrawGraph 的函数。这个功能几乎是我的整个程序。

DrawGraph(x, y, xv, yv, s)

在程序开始时,我想输入这个函数。并输入具体的数字,x、y、xv 等......

所以我每次启动程序时都可以输入不同的数字。

最简单甚至最好的方法是什么?我不能指望它会太难。

到目前为止我已经尝试过:

DrawGraph(x, y, xv, yv, s) = input()

DrawGraph(x, y, xv, yv, s) = input(x, y, xv, yv, s)

input(x, y, xv, yv, s)

......这些都不起作用......

只是想扔在那里。在程序结束时,如果我没有输入但只是

DrawGraph(5, 5, 10, 10, 60)

它工作得很好。当我开始使用输入时,它真的变得一团糟

4

7 回答 7

4

你可以这样做:

input()

并输入:

DrawGraph(0, 1, 2, 3, 4)

input接受任何 python 表达式并对其进行评估。这可能成为一个安全漏洞。


更好的方法是使用raw_input()

args = map(float, raw_input().split())
DrawGraph(*args)

该代码接受输入,将其转换为列表,然后将每个项目转换为浮点数。

于 2012-06-11T18:32:00.120 回答
2
x, y, xv, yv, s = input()

输入必须采用以下形式:

1,2,3,4,5

或者

x = input()
y = input()
xv = input()
yv = input()
s = input()

对此的输入将采用以下形式:

1
2
3
4
5

无论哪种方式,您都需要将变量传递给您的函数。

请注意,输入可以采用字符串参数作为用户提示,例如:

x = input("Give me x:")
于 2012-06-11T18:31:46.290 回答
2

除非您想解析来自一个输入的值,否则请求每个值并将其一次保存到一个变量中,然后调用您的函数会更容易。

x = input("Enter x:")
y = input("Enter y:")
xv = input("Enter xv:")
yv = input("Enter yv:")
s = input("Enter s:")

DrawGraph(x, y, xv, yv, s)

这将从用户那里获取值,然后使用这些值调用函数。

于 2012-06-11T18:35:51.137 回答
1

这里有一个关于 python 中用户输入的很好的堆栈溢出问题

您可以接受这些值作为 cmd 行参数,或使用 raw_input 获取它们。

于 2012-06-11T18:32:14.270 回答
0
def do_draw_graph():
    x  = int(raw_input("Value for x? "))
    y  = int(raw_input("Value for y? "))
    xv = int(raw_input("Value for xv? "))
    yv = int(raw_input("Value for yv? "))
    s  = int(raw_input("Value for s? "))
    DrawGraph(x, y, xv, yv, s)

Works when using the turtle module in IDLE

于 2012-06-12T00:12:25.350 回答
0
args = [int(i) for i in raw_input().split()]

DrawGraph(*args)

对于 Python 3,您只需替换raw_input()input(). 我敢肯定有一个稍微简单的方法(除了旧版本的潜在危险用法input(),如埃里克的回答中所述),但我现在有点匆忙,没有时间考虑太多了。

于 2012-06-11T18:38:34.480 回答
0
 raw_input() is renamed to input() in Python3 

  x=int(input("enter x" )) 
  y=int(input("enter y" ))
  xv=int(input("enter xv" ))
  yv=int(input("enter yv" ))
  s=int(input("enter s" ))
  DrawGraph(x,y,xv,yv,s)

 it depends on what type of number are the inputs. if they'r decimals like 1.2 instead of int use float
于 2017-03-02T20:44:55.317 回答