<p dir="ltr">You're right about typing in Python, but you're wrong about that kind of error not happening. </p>
<p dir="ltr">In Python 2, if you compare types that don't have a logical ordering, Python will often default to comparing by class name: <a href="http://stackoverflow.com/questions/7969552/why-does-4-3-return-true-in-python-2/7969617#7969617">http://stackoverflow.com/questions/7969552/why-does-4-3-return-true-in-python-2/7969617#7969617</a> That was fixed in Python 3, which will raise an exception.</p>
<p dir="ltr">The problem can still occur when you use a boolean expression and you expect True or False but have another value, since ~all objects by default have __nonzero__ methods and so get coerced to True or False. </p>
<div class="gmail_quote">On May 18, 2015 9:08 AM, "Rob Kapteyn" <<a href="mailto:robkapteyn@gmail.com">robkapteyn@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Just a quick note on a common misconception about Python.<br>You wrote:<br>'Personally, I like the "feel" of the "weakly typed" or dynamic languages, such as Perl, Ruby and Python.'<br><br>Python is NOT "weakly typed".<br></div><div>It is "strongly, dynamically typed".<br></div><div>Once Python determines the type of an object -- it does not change.<br></div><div><br></div><div>Weakly typed languages (like Perl) often create horrible bugs in production when real-world data gets<br>cast into an unexpected type.  This has given "weak typing" a (deservedly) bad reputation.<br><br></div><div>These bugs never happen with Python.<br></div><div><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 17, 2015 at 12:16 PM, Lewit, Douglas <span dir="ltr"><<a href="mailto:d-lewit@neiu.edu" target="_blank">d-lewit@neiu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><font size="4">Hi Jimmy,</font><div><br></div><div><font size="4">Thanks for the feedback!  Right now I mostly work with the Java crowd.  Honestly, nobody in my department has anything positive to say about Python other than "it looks good on your resume".  One young lady who used to be the graduate tutor in my department said, "Oh please, Python?  You can learn Programming I in Python in just 30 minutes!!!  But C, C++ and Java take work and study!"  But she was an arrogant little know-it-all and -----.  (I'll let you use your imagination to fill in the blank! )</font></div><div><font size="4"><br></font></div><div><font size="4">Personally, I like the "feel" of the "weakly typed" or dynamic languages, such as Perl, Ruby and Python.  They remind me a lot of Maple and Mathematica, which provided me with my first experiences in real computer programming.  Java isn't bad, but I'm not thrilled with how people in my department teach Java.</font></div><div><font size="4"><br></font></div><div><font size="4">I want to flesh out the program a wee bit more.  Add more info to the tuples, such as the amount of principal paid up to that point, the amount of interest paid up to that point (or month I mean), and.... I guess that's it!  I haven't got a clue how this would work for a <i><u>variable</u></i> rate mortgage!  That would get VERY complicated!  With a fixed rate mortgage you know that your payment must be greater than (amount borrowed)*(1 + rate/1200) or you will never pay off your mortgage.  Your debt would either remain the same or continue to accumulate more interest and actually get larger.</font></div><div><font size="4"><br></font></div><div><font size="4">  </font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 17, 2015 at 8:27 AM, Jimmy Calahorrano via Chicago <span dir="ltr"><<a href="mailto:chicago@python.org" target="_blank">chicago@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12px"><div><span>Doug,</span></div><div><span><br></span></div><div dir="ltr"><span>couple points on this. Have you actually talked to people working on Python for years already? If you just talked to Java/C# developers that have never used Python then they doesn't know what they are talking about. I was one of them (c# developer for about 10 years), i had the tendency to under value javascript for example, and little interest on learning python. Things changed years ago, and I cannot be more grateful for people and situations that ended me working in python.</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><span>Regarding the mortage escrow calculator that you are talking about real state companies doesn't calculate them, it is the actual lending company that needs to calculate the escrow, on</span> middle size and big ones, they no longer use excel, since this is the most basic calculation that they should get done. I'd research to find out what features are missing on those systems, or if is something else that they need.</div><div dir="ltr"><br></div><div dir="ltr">thanks,</div><div dir="ltr">Jimmy</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><br>  <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"> <hr size="1">  <font face="Arial" size="2"> <b><span style="font-weight:bold">From:</span></b> "Lewit, Douglas" <<a href="mailto:d-lewit@neiu.edu" target="_blank">d-lewit@neiu.edu</a>><br> <b><span style="font-weight:bold">To:</span></b> The Chicago Python Users Group <<a href="mailto:chicago@python.org" target="_blank">chicago@python.org</a>> <br> <b><span style="font-weight:bold">Sent:</span></b> Sunday, May 17, 2015 5:45 AM<br> <b><span style="font-weight:bold">Subject:</span></b> [Chicago] Python for mortgages???<br> </font> </div> <div><div><div><br><div><div dir="ltr"><font size="4">Hey there ladies and gents,</font><div><font size="4"><br></font></div><div><font size="4">I'm kind of proud of this, my latest little Python project.  I know my Formatter class is very Java-like, but hey, why not?  I've actually had more formal training in Java than in Python, so it makes sense that I bring a certain amount of the Java paradigm to my Python programming projects, which may not necessarily be a bad thing.  In chatting with CS professors and others in the community, I still get the feeling that a lot of people still think of Java as a "grownup programming language" while Python is just good for newbies, kids, and amateur programmers.  It's an attitude that I really don't like, and of course most of the people with that opinion have not really used Python that much anyhow!  So I kind of enjoy exploring the OOP aspects of Python and other pretty heavy-duty aspects of Python, demonstrating that it is just as much a grownup programming language as Java.  Unfortunately I have not yet explored the web page development capabilities of Python, but that is definitely on my to-do list for the near future.</font></div><div><font size="4"><br></font></div><div><font size="4">This program asks the question, "If I borrow some money to buy a house at a certain interest rate (expressed as a percentage) and if I pay a certain amount of money every month, then how many months will it take for me to pay off my mortgage?"  Also, what's the total interest going to be?</font></div><div><font size="4"><br></font></div><div><font size="4">I really like the program, but if anyone can suggest something to make it even better, then hey, by all means let me know.  But be polite!  I devoted a lot of time to this, so please no replies like, "Doug, your program sucks!"  </font></div><div><font size="4"><br></font></div><div><font size="4">And if you sell my program to some big real estate company, I want a percentage of those profits!!!  (I suspect that most realtors use EXCEL to solve these exact same problems.)</font></div><div><font size="4"><br></font></div><div><font size="4">Enjoy the rest of your weekend and I'm looking forward to reading your feedback and criticisms.</font></div><div><font size="4"><br></font></div><div><font size="4">Cheers,</font></div><div><font size="4"><br></font></div><div><font size="4">Douglas Lewit</font></div><div><font size="4"><br></font></div><div><font size="4">P.S.  I probably should have used Python 3 for this, but I went ahead with Python 2 for this project.  Sorry guys, but if you run my script with Python 3 it definitely won't run!  The print statement won't work and neither will the generators.</font></div><div><font size="4"><br></font></div></div></div><br></div></div>_______________________________________________<br>Chicago mailing list<br><a href="mailto:Chicago@python.org" target="_blank">Chicago@python.org</a><br><a href="https://mail.python.org/mailman/listinfo/chicago" target="_blank">https://mail.python.org/mailman/listinfo/chicago</a><br><br><br></div> </div> </div>  </div></div><br>_______________________________________________<br>
Chicago mailing list<br>
<a href="mailto:Chicago@python.org" target="_blank">Chicago@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/chicago" target="_blank">https://mail.python.org/mailman/listinfo/chicago</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
Chicago mailing list<br>
<a href="mailto:Chicago@python.org" target="_blank">Chicago@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/chicago" target="_blank">https://mail.python.org/mailman/listinfo/chicago</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
Chicago mailing list<br>
<a href="mailto:Chicago@python.org">Chicago@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/chicago" target="_blank">https://mail.python.org/mailman/listinfo/chicago</a><br>
<br></blockquote></div>