from math import log
def intro(n):
 print("+----------------------+");print("| "+n+" |");print("|   ___(o )> quack!    |");print("|   by DuckieDai       |");print("+----------------------+");input("ENTER to start: ")
def num(s):
 while 1:
  try:return float(input(s))
  except:print("Enter a number")
def pos(s):
 while 1:
  x=num(s)
  if x>0:return x
  print("Must be positive")
def pick():
 while 1:
  q=input("1 Any temp 2 298K: ")
  if q=="1" or q=="2":return q
  print("Choose 1 or 2")
intro("NERNST EQUATION")
q=pick();e0=num("E0 volts: ");n=pos("Electrons n: ");Q=pos("Q: ")
if q=="1":
 t=pos("Temp K: ");cor=8.314*t*log(Q)/(n*96485)
else:cor=.0592*log(Q,10)/n
e=e0-cor;print("E volts =",e);print("Correction =",cor)
if e>0:print("Spontaneous cell")
elif e<0:print("Nonspontaneous as written")
else:print("At equilibrium")
input("ENTER for guide: ");print("Q<1 raises E; Q>1 lowers E");print("DuckieDai: done!");input("ENTER to exit: ")
