首页 > 解决方案 > 无效的语法错误:python 中的 Quine McCluskey 算法

问题描述

我是python的新手,这是我朋友发给我的一些代码,这是Quine-McCluskey算法,它提供了获取minterms的答案,代码有点简单,但是因为我不是经验丰富的python程序员,所以我没有太多解决这个问题的想法

这是源代码:Quine-McCluskey (github)

def find_minimum_cost(Chart, unchecked):
P_final = []
#essential_prime = list with terms with only one 1 (Essential Prime Implicants)
essential_prime = find_prime(Chart)
essential_prime = remove_redundant_list(essential_prime)

#print out the essential primes
if len(essential_prime)>0:
    s = "\nEssential Prime Implicants :\n"
    for i in range(len(unchecked)):
        for j in essential_prime:
            if j == i:
                s= s+binary_to_letter(unchecked[i])+' , '
    print s[:(len(s)-3)] #ERROR  <-------- 

#modifiy the chart to exclude the covered terms
for i in range(len(essential_prime)):
    for col in range(len(Chart[0])):
        if Chart[essential_prime[i]][col] == 1:
            for row in range(len(Chart)):
                Chart[row][col] = 0

-

File "C:\Users\Lenovo\Desktop\main.py", line 204
  print s[:(len(s)-3)]
        ^
SyntaxError: invalid syntax

错误在这一行: print s[:(len(s)-3)]

标签: pythonpython-3.xalgorithm

解决方案


原作者打算让程序使用 python2 解释器执行。他(大致)写道:

print s

要使用现代 python3 解释器执行,您需要:

print(s)

推荐阅读