yangbaowen 发表于 2023-3-25 14:11:31

for循环下第三个函数不知道为什么报错

本帖最后由 yangbaowen 于 2023-3-25 14:19 编辑

import numpy as np
def controlmatrix(n_sb,n_ob):   #生成1个随机访问控制矩阵
    pass
def makedecison(sb,ob,op):
    pass                        #输出决策yes或no
def respontime(n_sb,n_ob):      # 计算响应时间并画图
    pass
a =
for i in range(len(a)):
    for t in range(len(a)):
       controlmatrix(a,a)
       print(('主体数:',a,'客体数:',a))
       makedecison(r = int(input('sb = '), s = int(input('ob = ')), u = list(input('op')))
       respontime(a,a)

用的是
* Spyder version: 5.4.2(conda)
* Python version: 3.9.13 64-bit
* Qt version: 5.15.2
* PyQt5 version: 5.15.7
* Operating System: Windows 10

isdkz 发表于 2023-3-25 14:11:32

本帖最后由 isdkz 于 2023-3-25 14:22 编辑

三个问题:

1、你定义变量的时候用 s,循环里面用了 a
2、int(input('sb = ')) 打少了一个括号
3、makedecison 用关键字传参的方式传参的时候实参名跟形参名不搭配

修改后的代码:
import numpy as np
def controlmatrix(n_sb,n_ob):   #生成1个随机访问控制矩阵
    pass
def makedecison(sb,ob,op):
    pass                        #输出决策yes或no
def respontime(n_sb,n_ob):      # 计算响应时间并画图
    pass
a =
for i in range(len(a)):
    for t in range(len(a)):
       controlmatrix(a,a)
       print(('主体数:',a,'客体数:',a))
       makedecison(sb = int(input('sb = ')), ob = int(input('ob = ')), op = list(input('op = ')))
       respontime(a,a)

yangbaowen 发表于 2023-3-25 14:21:25

isdkz 发表于 2023-3-25 14:18


为啥呀

isdkz 发表于 2023-3-25 14:22:52

yangbaowen 发表于 2023-3-25 14:21
为啥呀

我补充上去了,你刷新一下看看

yangbaowen 发表于 2023-3-25 14:30:21

isdkz 发表于 2023-3-25 14:22
我补充上去了,你刷新一下看看

谢谢,懂了,参数用了等号赋值,就要用形参名,如果去掉等号,直接是int()做实参,就没问题,细节上出错了

match123_xbd 发表于 2023-4-7 13:43:06

{:5_105:}
页: [1]
查看完整版本: for循环下第三个函数不知道为什么报错