复合命题和输出应该是该命题的真值表

2024-06-26 04:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图制作一个代码,从用户那里获取一个复合命题,并为这个命题输出一个真值表。问题是用户的输入有很多可能性。我试图解决的是一个最简单的例子,如(pvq)——>;q、 但我得到了(pvq)的输出,但我不能继续,也不能解更复杂的化合物,如((pvq)v(p^q))->;q

  q=[1,1,0,0]
  p=[1,0,1,0]
  compound=input("Enter compound ")
  c=compound.count('(')
  for i in compound:
  if i=='^':
      d=i
  elif i=='v':
      d=i
  elif i=='<->':
      d=i
  elif i=='->':
      d=i
  if d=='^':
      result=[1,0,0,0]
      print(result)
  elif d=='v':
    result=[1,1,1,0]
    print(result)

  elif d=='<->':
      result=[1,0,0,1]
      print(result)
  else:
      result=[1,0,1,1]
      print(result)

  print(c)
  w=compound.split(')')
  print(w[1][0])
  if w[1][0]== '^':
      print (result)
  elif w[1][0]== 'v':
      result=[1,1,1,0]
      print (result)

 elif w[1][0]== '<':
     result=[1,0,0,1]
     print (result)
 else:
     result=[1,0,1,1]
     print (result)

Tags: 代码用户gtifresult可能性else例子