如何使用带有输入的函数?
如何使用带有输入的函数?
我有一个名为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)
它可以正常工作。
但一旦我开始使用输入,就会出现混乱。
如何使用带有输入的函数?
问题的原因是,无论使用哪种方法获取输入,都需要将变量传递给函数。其中一种方法是通过一行输入将多个变量赋值给多个变量,另一种方法是逐个获取输入。
解决方法是,首先确定输入的格式。如果采用第一种方法,输入应该是以逗号分隔的一行,如"1,2,3,4,5"。如果采用第二种方法,每个变量的输入应该分别占一行,如:
1
2
3
4
5
然后,将这些变量传递给函数。注意,input函数还可以接受字符串参数作为用户提示,例如:
x = input("给我一个x值:")
在代码中,第一种方法可能会导致ValueError: too many values to unpack (expected 5)错误,第二种方法似乎没有任何错误,但Python的turtle窗口没有响应。同样的问题似乎也发生在其他正确的答案中。也许问题并不在于脚本本身。
如何使用带有输入的函数?
有时候我们需要从用户那里获取输入,并将这些输入作为参数传递给函数。以下是一种实现这个目标的方法:
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的回答 🙂