Advertisement
LiddiLidd

mathstable

Sep 27th, 2014
1,006
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 KB | None | 0 0
  1. def end():
  2. counter = 0
  3. counter2 = 0
  4. new = raw_input("Make a new table?: Type 'yes' or any key to exit.")
  5. new=new.lower()
  6. if new == "yes" :
  7. table_maker()
  8. else:
  9. print "Goodbye!"
  10.  
  11.  
  12. def invalid():
  13. print
  14. print "Invalid Choice."
  15. print
  16.  
  17.  
  18. def table_maker():
  19. counter = 0
  20. while (counter==0)==True:
  21. try:
  22. maxval=input("Choose your highest number:")
  23. if (maxval % 1) == 0 and maxval > 0:
  24. counter=(counter+1)
  25. else:
  26. print "That isn't a positive whole number!"
  27. except:
  28. print "No, pick a number."
  29.  
  30. maxlength = len(str(maxval**3))
  31.  
  32.  
  33. counter2=0
  34. while (counter2==0)==True:
  35. try:
  36. maths = raw_input("Choose a mathematical operator. Type 'plus', 'minus', 'multiply' or 'divide'")
  37. if maths== "plus" or maths=="minus" or maths=="multiply" or maths=="divide":
  38. counter2=(counter2+1)
  39. except:
  40. print "Type a mathematical operation."
  41.  
  42. if maths == "plus":
  43. print "_" *(((maxval+1)*(maxlength+1))+4)
  44. for i in range(0,1):
  45. for j in range(0,1):
  46. print "|",str("+").center(maxlength,' '),"|",
  47. for j in range(1, maxval):
  48. print str(j+i).center(maxlength,' '),
  49. for j in range(maxval,maxval+1):
  50. print str(j+i).center(maxlength,' '),"|"
  51. print "-" *(((maxval+1)*(maxlength+1))+4)
  52. for i in range(1, maxval +1):
  53. for j in range(0,1):
  54. print "|",str(j+i).center(maxlength,' '),"|",
  55. for j in range(1, maxval):
  56. print str(j+i).center(maxlength,' '),
  57. for j in range(maxval,maxval+1):
  58. print str(j+i).center(maxlength,' '),"|"
  59. print "_" *(((maxval+1)*(maxlength+1))+4)
  60. end()
  61. elif maths == "minus":
  62. print
  63. print "Use the top number first!"
  64. print
  65. print "_" *(((maxval+1)*(maxlength+1))+4)
  66. for i in range(0,1):
  67. for j in range(0,1):
  68. print "|",str("-").center(maxlength,' '),"|",
  69. for j in range(1, maxval):
  70. print str(j-i).center(maxlength,' '),
  71. for j in range(maxval,maxval+1):
  72. print str(j-i).center(maxlength,' '),"|"
  73. print "-" *(((maxval+1)*(maxlength+1))+4)
  74. for i in range(1, maxval +1):
  75. for j in range(0,1):
  76. print "|",str(abs(j-i)).center(maxlength,' '),"|",
  77. for j in range(1, maxval):
  78. print str(j-i).center(maxlength,' '),
  79. for j in range(maxval,maxval+1):
  80. print str(j-i).center(maxlength,' '),"|"
  81. print "_" *(((maxval+1)*(maxlength+1))+4)
  82. end()
  83. elif maths == "multiply":
  84. print "_" *(((maxval+1)*(maxlength+1))+4)
  85. for i in range(0,1):
  86. for j in range(0,1):
  87. print "|",str("*").center(maxlength,' '),"|",
  88. for j in range(1, maxval):
  89. print str(j+i).center(maxlength,' '),
  90. for j in range(maxval,maxval+1):
  91. print str(j+i).center(maxlength,' '),"|"
  92. print "-" *(((maxval+1)*(maxlength+1))+4)
  93. for i in range(1, maxval +1):
  94. for j in range(1,2):
  95. print "|",str(j*i).center(maxlength,' '),"|",
  96. for j in range(1, maxval):
  97. print str(j*i).center(maxlength,' '),
  98. for j in range(maxval,maxval+1):
  99. print str(j*i).center(maxlength,' '),"|"
  100. print "_" *(((maxval+1)*(maxlength+1))+4)
  101. end()
  102. elif maths == "divide":
  103. print
  104. print "Use the top number first!"
  105. print "Numbers are approximate values."
  106. print "_" *(((maxval+1)*(maxlength+3))+4)
  107. for i in range(1,2):
  108. for j in range(1,2):
  109. print "|",str("/").center(maxlength+2,' '),"|",
  110. for j in range(1, maxval):
  111. print str(j/i).center(maxlength+2,' '),
  112. for j in range(maxval,maxval+1):
  113. print str(j/i).center(maxlength+2,' '),"|"
  114. print "-" *(((maxval+1)*(maxlength+3))+4)
  115. for i in range(1, maxval +1):
  116. for j in range(0,1):
  117. print "|",str(abs(j-i)).center(maxlength+2,' '),"|",
  118. for j in range(1, maxval):
  119. print str(round(float(j)/float(i),2)).center(maxlength+2,' '),
  120. for j in range(maxval,maxval+1):
  121. print str(round(float(j)/float(i),2)).center(maxlength+2,' '),"|"
  122. print "_" *(((maxval+1)*(maxlength+3))+4)
  123. end()
  124. else:
  125. invalid()
  126. table_maker()
  127.  
  128.  
  129.  
  130. print
  131. print "MATHEMATICAL TABLE MAKER"
  132. print
  133.  
  134. table_maker()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement