<html>
<body>
At 06:55 PM 7/30/2005, Nathan Pinno wrote:<br>
<blockquote type=cite class=cite cite="">...<br>
&nbsp;&nbsp;&nbsp; elif cal_opt == 4:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X = input(&quot;First
number:&quot; )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y = input(&quot;Second
number:&quot; )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if Y == 0:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print
&quot;Division by zero ot allowed!&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y =
input(&quot;Second number:&quot; )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print
X, &quot;/&quot;, Y, &quot;= &quot;,X / Y</blockquote><br>
Note that you give user a 2nd try but that input never reaches the print
statement.<br><br>
The following might be a bit of a stretch, but consider creating a list
of lists to store the various menu options. <br>
Doing this separates the high-level menu from lower-level code which is
now not repetitive. To add/modify menu items one just extends/edits the
list. Here's a &quot;simple&quot; example which ignores some things but
gives you the idea. Warning untested code:<br><br>
menuItems = [<br>
&nbsp;[&quot;Add&quot;, &quot;First number:&quot;, &quot;Second
number:&quot;,&nbsp; &quot;+&quot;, lambda(x,y:x+y)],<br>
&nbsp;[&quot;Subtract&quot;, &quot;First number:&quot;, &quot;Second
number:&quot;,&nbsp; &quot;-&quot;, lambda(x,y:x-y)],<br>
&nbsp;[&quot;Exit&quot;]]<br>
# first item is the main menu prompt, <br>
# 2nd and 3rd are the input prompts, <br>
# 4th is the string representation of the operator, <br>
# 5th is an anonymous function to do the calculation.<br><br>
def menu():<br>
&nbsp; print &quot;CALCULATE MENU&quot;<br>
&nbsp; for option, menuItem in enumerate(menuItems):<br>
&nbsp;&nbsp;&nbsp; print str(option + 1) + &quot;)&quot;,
menuItem[0]<br><br>
def cal():<br>
&nbsp; cal_opt = int(raw_input(&quot;Option: &quot;))<br>
&nbsp; if 1 &lt;= cal_opt &lt;= len(menuItems):<br>
&nbsp;&nbsp;&nbsp; menuItem = menuItems[cal_opt - 1]<br>
&nbsp;&nbsp;&nbsp; if menuItem[0] = &quot;Exit&quot;:return False<br>
&nbsp;&nbsp;&nbsp; prompt1, prompt2, oper, func =&nbsp; 
menuItem[1:]<br>
&nbsp;&nbsp;&nbsp; X = input(prompt1)<br>
&nbsp;&nbsp;&nbsp; Y = input(prompt2)<br>
&nbsp;&nbsp;&nbsp; print X, oper, Y, &quot;= &quot;, func(X, Y)<br>
&nbsp; else:<br>
&nbsp;&nbsp;&nbsp; print &quot;That's not an option. Try
again.&quot;<br>
&nbsp; return True<br><br>
print &quot;Mini Calculator&quot;<br>
print &quot;By Nathan Pinno&quot;<br>
print<br>
while True:<br>
&nbsp; menu()<br>
&nbsp; if not cal(): break<br>
<x-sigsep><p></x-sigsep>
<font size=2>Bob Gailer<br>
phone 510 978 4454 </font></body>
</html>