首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从函数输出创建2D数组

如何从函数输出创建2D数组
EN

Stack Overflow用户
提问于 2022-09-04 15:41:17
回答 2查看 37关注 0票数 0

下面的函数创建一个3位加法器真值表。如何从输出中获得二维数组结构?

代码语言:javascript
复制
import numpy as np
def truthTable(inputs=3):
    if inputs == 3:
        print("  A B C S Cout ")
        for a in range(0, 2):
            for b in range(0, 2):
                for c in range(0, 2):
                        cout = eval("((a & b) | (a & c) | (b & c))")
                        s = eval("(a ^ b ^ c)")
                        print(str(a) + "," + str(b) + "," + str(c) + "," + str(s) + "," + str(cout))

truthTable()

交单:

代码语言:javascript
复制
0,0,0,0,0
0,0,1,1,0
0,1,0,1,0
0,1,1,0,1
1,0,0,1,0
1,0,1,0,1
1,1,0,0,1
1,1,1,1,1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-04 16:04:31

代码语言:javascript
复制
import numpy as np
def truthTable(inputs=3):
    if inputs == 3:
        print("  A B C S Cout ")
        tt = []
        for a in range(0, 2):
            for b in range(0, 2):
                for c in range(0, 2):
                        cout = eval("((a & b) | (a & c) | (b & c))")
                        s = eval("(a ^ b ^ c)")
                        tt.append([a, b, c, s, cout])
        return tt

print(truthTable())

[[0, 0, 0, 0, 0], [0, 0, 1, 1, 0], [0, 1, 0, 1, 0], [0, 1, 1, 0, 1], [1, 0, 0, 1, 0], [1, 0, 1, 0, 1], [1, 1, 0, 0, 1], [1, 1, 1, 1, 1]]

票数 0
EN

Stack Overflow用户

发布于 2022-09-04 17:46:31

代码语言:javascript
复制
import numpy as np
import itertools
def get_cout(a,b,c):
    return eval("((a & b) | (a & c) | (b & c))")
def get_s(a,b,c):
    return eval("(a ^ b ^ c)")
all_booleans  = list(itertools.product([0, 1], repeat=3))
for i in all_booleans:
    print(f"{str(i[0])},{str(i[1])},{str(i[2])},{str(get_s(i[0],i[1],i[2]))},{str(get_cout(i[0],i[1],i[2]))}")

输出:

代码语言:javascript
复制
0,0,0,0,0
0,0,1,1,0
0,1,0,1,0
0,1,1,0,1
1,0,0,1,0
1,0,1,0,1
1,1,0,0,1
1,1,1,1,1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73600704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档