如何使用带有输入的函数?

9 浏览
0 Comments

如何使用带有输入的函数?

我有一个名为DrawGraph的函数,这个函数几乎占据了我整个程序的主要部分。

在程序开始时,我想要输入这些函数,并输入具体的数字,如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)

它可以正常工作。

但一旦我开始使用输入,就会出现混乱。

0
0 Comments

如何使用带有输入的函数?

问题的原因是,无论使用哪种方法获取输入,都需要将变量传递给函数。其中一种方法是通过一行输入将多个变量赋值给多个变量,另一种方法是逐个获取输入。

解决方法是,首先确定输入的格式。如果采用第一种方法,输入应该是以逗号分隔的一行,如"1,2,3,4,5"。如果采用第二种方法,每个变量的输入应该分别占一行,如:

1

2

3

4

5

然后,将这些变量传递给函数。注意,input函数还可以接受字符串参数作为用户提示,例如:

x = input("给我一个x值:")

在代码中,第一种方法可能会导致ValueError: too many values to unpack (expected 5)错误,第二种方法似乎没有任何错误,但Python的turtle窗口没有响应。同样的问题似乎也发生在其他正确的答案中。也许问题并不在于脚本本身。

0
0 Comments

如何使用带有输入的函数?

有时候我们需要从用户那里获取输入,并将这些输入作为参数传递给函数。以下是一种实现这个目标的方法:

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)

这段代码会从用户那里获取值,并将这些值作为参数调用函数。

需要注意的是,print语句并不是必要的。input函数可以接受一个用户提示信息作为参数。我已经更新了你的代码以反映这一点。

哎呀!谢谢,我好久没有用Python进行用户输入了。

这种方法非常适合我。不幸的是,我在这里也遇到了一个错误。也许是脚本中的其他地方出了错误。TypeError: Can't convert 'float' object to str implicitly

你需要将输入的字符串转换为浮点数。所以,在每个变量的input()调用之后,添加类似于x = float(x)的代码。

谢谢你们所有人的帮助和答案。某种程度上,它们都是正确的。我将使用Paul Whelan的方法来实现它。我只需要做一个小小的修改才能使它正常工作。我做的是: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)使用浮点数也可以替代整数。所以特别感谢Paul Whelan的回答 🙂

0
0 Comments

如何使用带有输入的函数?

问题的原因是使用input()函数时可能存在安全漏洞。因为input()函数可以接受任何Python表达式并对其进行求值。

解决方法是使用更安全的raw_input()函数。可以通过以下代码实现:

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

这段代码将输入转换为列表,并将列表中的每个项转换为浮点数。使用这种方法可以更好地保护代码的安全性。

另外,如果在使用raw_input()函数时遇到了问题,可能是因为没有正确导入"python turtle"模块。请检查是否正确导入了该模块。

0