On 14/06/17 15:20, William Gan wrote: > print('Enter C for Celsius to Fahrenheit or F for Fahrenheit to Celsius.') > > if unit == 'C' or 'c':
You have hit a common error for beginners. reading this as a human it is quite clear what is meant but the computer sees it differently. It sees: if (unit == 'C') or 'c': Now, a non empty string like 'c' is always considered True in a boolean context so, the interpreter interprets it as: if (unit == 'C') or True: And since any 'or' test where one element is True is evaluated to True it reads as if True: and so the 'if' part is always executed. How to avoid this? There are several options: if unit == 'C' or unit == 'c': But that gets cumbersome if more than two values. Better is: if unit in ('C','c'): This is best if there are multiple true options not just upper/lower case or if unit.lower() == 'c': This is best is the strings are longer than a single letter. (You can use unit.upper() too, that's just an arbitrary choice) > 1. Is it possible that I may not have the right aptitude or mental paradigm to do computer programming? Possible, but unlikely, most folks with a basic math ability can pick up programming. You may not be a natural, and may never be a programming guru, but you should be able to get to the stage of competence. > However, I am having difficulty learning it. It is difficult, despite what some books would have you believe. If it wasn't difficult there would be no need to teach it as a university subject! You have to train your mind to think like a computer (as in the case above) and to break things down into often painfully detailed steps. But that is just practice. > I have been learning for a few months already and I am > not learning fast enough. Says who? I've been programming for over 40 years and am still learning new things every week. Don't give up, and keep asking questions. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor