fork download
  1.  
  2. if __name__ == '__main__':
  3. a = bool()
  4. b = bool()
  5. # Se definen las variables que el programa va a utilizar
  6. compuerta = str()
  7. respuesta_not = str()
  8. respuesta_yes = str()
  9. continuar = bool()
  10. error = str()
  11. compuertavalida = bool()
  12. seguir=3
  13. continuar = True
  14.  
  15. while seguir==3:
  16. # Al principio el programa debe Continuar
  17. print "Buenos Días"
  18. # Mientras que Continuar sea verdadero ejecutará el siguiente programa
  19. compuertavalida = False
  20. while compuertavalida==False:
  21. # Al no haberse introducido ninguna Compuerta esta sera falsa al principio
  22. print "Indique la compuerta lógica a analizar (escriba en mayúsculas)"
  23. # Mientras Que sea falsa el programa preguntara por una nueva Compuerta valida
  24. compuerta = raw_input()
  25. if compuerta=="AND" or compuerta=="OR" or compuerta=="NOT" or compuerta=="YES" or compuerta=="NAND" or compuerta=="NOR" or compuerta=="XOR" or compuerta=="XNOR":
  26. compuertavalida = True
  27. # si se corresponde a una compuerta que exista se marcará como valida
  28. else:
  29. print "Compuerta no válida. Intente de nuevo."
  30. # si no corresponde te preguntarña de nuevo
  31. print "Solo son válidos el número 0 y el 1"
  32. print "Introduzca el número A"
  33. # el programa especifica que solo valen 0 (Falso) y 1 (Verdadero)
  34. a = bool(raw_input())
  35. # el programa pregunta por el número A
  36. print "Introduzca el número B"
  37. # Y el usuario lo introduce
  38. b = bool(raw_input())
  39. # el programa pregunta por el número B
  40. if compuerta=="AND":
  41. print "Compuerta AND"
  42. # según el valor de Compuerta el programa tomará distintas rutas - si esta vale AND
  43. if a==True and b==True:
  44. print "Su salida es 1"
  45. else:
  46. print "su salida es 0"
  47. elif compuerta=="OR":
  48. print "Compuerta OR"
  49. # si esta vale OR
  50. if a==False and b==False:
  51. print "Su salida es 0"
  52. else:
  53. print "Su salida es 1"
  54. elif compuerta=="NOT":
  55. print "Compuerta NOT"
  56. # si esta vale NOT
  57. print "Indique si quiere analizar A o B"
  58. respuesta_not = raw_input()
  59. # Como la Compuerta NOT solo presenta una entrada
  60. if respuesta_not=="A":
  61. # El usuario ha de decidir
  62. print "Compuerta NOT únicamente con A"
  63. # si se decide con A se hará lo siguiente
  64. if a==False:
  65. print "Su salida es 1"
  66. else:
  67. print "Su salida es 0"
  68. else:
  69. print "Compuerta NOT únicamente con B"
  70. # sino se hará lo siguiente
  71. if b==False:
  72. print "Su salida es 1"
  73. else:
  74. print "Su salida es 0"
  75. elif compuerta=="YES":
  76. print "Compuerta YES"
  77. # si esta vale YES
  78. print "Indique si quiere analizar A o B"
  79. respuesta_yes = raw_input()
  80. # Como la Compuerta YES solo presenta una entrada
  81. if respuesta_yes=="A":
  82. # El usuario ha de decidir
  83. print "Compuerta YES únicamente con A"
  84. # si se decide con A se hará lo siguiente
  85. if a==False:
  86. print "Su salida es 0"
  87. else:
  88. print "Su salida es 1"
  89. else:
  90. print "Compuerta YES únicamente con B"
  91. # sino se hará lo siguiente
  92. if b==False:
  93. print "Su salida es 0"
  94. else:
  95. print "Su salida es 1"
  96. elif compuerta=="NAND":
  97. print "Compuerta NAND"
  98. # si esta vale NAND
  99. if a==True and b==True:
  100. print "Su salida es 0"
  101. else:
  102. print "Su salida es 1"
  103. elif compuerta=="NOR":
  104. print "Compuerta NOR"
  105. # si esta vale NOR
  106. if a==False and b==False:
  107. print "Su salida es 1"
  108. else:
  109. print "Su salida es 0"
  110. elif compuerta=="XOR":
  111. print "Compuerta XOR"
  112. # si esta vale XOR
  113. if a==False and b==False or a==True and b==True:
  114. print "Su salida es 0"
  115. else:
  116. print "Su salida es 1"
  117. elif compuerta=="XNOR":
  118. print "Compuerta XNOR"
  119. # si esta vale XNOR
  120. if a==False and b==False or a==True and b==True:
  121. print "Su salida es 1"
  122. else:
  123. print "Su salida es 0"
  124. print "¿Desea realizar otra operación? (1 para Sí, 0 para No)"
  125. continuar = int(raw_input())
  126. if continuar==0:
  127. seguir=4
  128.  
  129. print"Fin del programa"
  130. # el programa pregunta si queremos realizar otra operación
  131. # el usuario introduce su Respuesta
  132.  
Success #stdin #stdout 0.01s 7256KB
stdin
NOT
1
0
A
0
stdout
Buenos Días
Indique la compuerta lógica a analizar (escriba en mayúsculas)
Solo son válidos el número 0 y el 1
Introduzca el número A
Introduzca el número B
Compuerta NOT
Indique si quiere analizar A o B
Compuerta NOT únicamente con A
Su salida es 0
¿Desea realizar otra operación? (1 para Sí, 0 para No)
Fin del programa