Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我得到一个索引器:sys.argv[1]中的列表索引超出范围_Python_Index Error - Fatal编程技术网

Python 我得到一个索引器:sys.argv[1]中的列表索引超出范围

Python 我得到一个索引器:sys.argv[1]中的列表索引超出范围,python,index-error,Python,Index Error,我想绘制此代码,但它已输入 索引器:在第k行中列出索引超出范围= 浮动(sys.argv[1]) 有人能帮我解决这个问题吗 canWidth=500 canHeight=500 **strong text** def setupWindow () : global win, canvas from tkinter import Tk, Canvas, Frame win = Tk() canvas = Canvas(win, height=canHeight, w

我想绘制此代码,但它已输入

索引器:在第k行中列出索引超出范围= 浮动(sys.argv[1])

有人能帮我解决这个问题吗

canWidth=500
canHeight=500
**strong text**
def setupWindow () :
    global win, canvas
    from tkinter import Tk, Canvas, Frame
    win = Tk()
    canvas = Canvas(win, height=canHeight, width=canWidth)
    f = Frame (win)    
    canvas.pack()
    f.pack()

def startApp () :
    global win, canvas
    import sys
    k1  = float(sys.argv[1])   # starting value of K
    k2  = float(sys.argv[2])   # ending   value of K
    x = .2                     # is somewhat arbitrary
    vrng = range(200)          # We'll do 200 horz steps
    for t in range(canWidth) :
        win.update()
        k = k1 + (k2-k1)*t/canWidth
        print ("K = %.04f" % k)
        for i in vrng :
            p = x*canHeight
            canvas.create_line(t,p,t,p+1)  # just makes a pixel dot
            x = x * (1-x) * k              # next x value
            if x <=0 or x >= 1.0 :
                print ("overflow at k", k)
                return

def main () :
    setupWindow()       # Create Canvas with Frame
    startApp()          # Start up the display  
    win.mainloop()      # Just wait for user to close graph

if __name__ == "__main__" : main()
canWidth=500
罐高=500
**强文本**
def setupWindow():
全球胜利,画布
从tkinter导入Tk、画布、框架
win=Tk()
canvas=canvas(win,height=canHeight,width=canWidth)
f=帧(win)
canvas.pack()
f、 包()
def startApp():
全球胜利,画布
导入系统
k1=浮点(sys.argv[1])#K的起始值
k2=浮点(sys.argv[2])#K的结束值
x=.2#有点武断
vrng=范围(200)#我们将进行200个水平步
对于范围内的t(canWidth):
win.update()
k=k1+(k2-k1)*t/罐宽
打印(“K=%.04f”%K)
对于vrng中的i:
p=x*canHeight
画布。创建线(t,p,t,p+1)#只制作一个像素点
x=x*(1-x)*k#下一个x值
如果x=1.0:
打印(“k处溢出”,k)
返回
defmain():
setupWindow()#使用框架创建画布
startApp()#启动显示器
win.mainloop()#只需等待用户关闭图形
如果uuuu name_uuuuuu==“uuuuuuu main_uuuuuuuu”:main()

程序似乎需要两个浮点命令行参数。 `

`

所以你应该用类似的东西来启动它

python main.py 100 200
更详细地说,您的代码正在读取,它希望有两个,也可以解析为浮点值。 通常,第一个命令行参数是脚本文件本身,因此
sys.argv
始终至少有一个元素长

也就是说,在启动脚本时,您可以按照上面的建议执行操作,并将2个浮点值作为参数传递,或者只编辑脚本和硬编码2值,而不是从命令行读取的值,如下所示

k1  = 100  
k2  = 200  

看起来程序需要2个浮点命令行参数。 `

`

所以你应该用类似的东西来启动它

python main.py 100 200
更详细地说,您的代码正在读取,它希望有两个,也可以解析为浮点值。 通常,第一个命令行参数是脚本文件本身,因此
sys.argv
始终至少有一个元素长

也就是说,在启动脚本时,您可以按照上面的建议执行操作,并将2个浮点值作为参数传递,或者只编辑脚本和硬编码2值,而不是从命令行读取的值,如下所示

k1  = 100  
k2  = 200  

您是如何启动程序的?您是否使用至少两个命令行参数运行脚本?e、 g.
python3 script.py arg1 arg2
如果使用
python filename.py
启动它,则会出现错误。例如,如果使用
python filename.py 1 2
启动它,则不会出现错误。我希望原因很清楚。你明白这意味着什么吗?你明白什么是
argc
argv
吗?你是如何启动程序的?你是否使用至少两个命令行参数运行脚本?e、 g.
python3 script.py arg1 arg2
如果使用
python filename.py
启动它,则会出现错误。例如,如果使用
python filename.py 1 2
启动它,则不会出现错误。我希望原因很清楚。你明白它的意思吗?你明白
argc
argv
是什么吗?非常感谢!这真的很有帮助。然后,每当我想运行代码时,我就按F5。现在我知道如何使用sys,argv。非常感谢!这真的很有帮助。然后,每当我想运行代码时,我就按F5。现在我知道如何使用sys,argv。