[Tutor] first steps

2011-03-15 Thread Donald Bedsole
Hi Ryan,

Also, when it works correctly, IDLE won't run the program again via
the >>> chaos.main() statement. I get this:
Traceback (most recent call last):
  File "", line 1, in 
chaos.main()
NameError: name 'chaos' is not defined

I think IDLE is looking for a file name to run.  If your file name is
chaos.py, use that.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] first steps

2011-03-15 Thread Donald Bedsole
Ryan,
Did you enter it like this at the prompt:

 >>> chaos.main() statement

If so, that's a problem.  Your function was called:  "main()", so if
you type chaos.main(), Python doesn't know what you're talking about.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Boolean question

2011-03-15 Thread Donald Bedsole
Hi folks,
I'm working on Boolean Operators right now, and I'm getting it for the
most part.  But, could someone make sure I'm understanding this one
expression correctly?

not (False and True)

Python evaluates it as "True"

Is it because:
1)You evaluate what's in the parentheses first.  A thing can not be
false and true at the same time, so the answer is false.
2)However, the "not" outside the parentheses flips the meaning of what
is inside the parentheses, so false becomes "True." ?
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Boolean question

2011-03-15 Thread Donald Bedsole
Hi Jack,

On Wed, Mar 16, 2011 at 1:50 AM, Jack Trades  wrote:
> On Wed, Mar 16, 2011 at 12:22 AM, Donald Bedsole 
> wrote:
>
>> not (False and True)
>>
>> Python evaluates it as "True"
>
>
>>
>> 1)You evaluate what's in the parentheses first.  A thing can not be
>> false and true at the same time, so the answer is false.
>
> Yes, the expression in the parenthesis is evaluated first.  However it's not
> just one thing being evaluated.
>
> 'and' evaluates one argument at a time and returns immediately if the
> argument is False.
>
> In this case there are 2 distinct 'things'.  False and True.  False,
> obviously, evaluates to False, which causes 'and' to stop and return False.
> This reduces the expression to...
>
> not False
>
>>
>> 2)However, the "not" outside the parentheses flips the meaning of what
>> is inside the parentheses, so false becomes "True." ?
>
> Correct, the expression "not False" evaluates to True.

Ok, so, as another example:

not(True and False) is "True"

because: the first argument "True" is true, and the second argument
"False" when returned is negated by "not" becomes "not False" which
evaluates to True?


Thanks for the help!  Btw, you're blog looks interesting; I'm going to
have to check it our more closely later.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Boolean question

2011-03-16 Thread Donald Bedsole
Hi Allen,

> Boolean algebra can be a weird thing to get your head around
> the first time you come across it :-)

Yes, :-)

> Here are some of the standard rules:
>
> True and thing = thing
> False and thing = False
> True or thing = True
> False or thing = thing
>

Thanks for your response and for  the rules, but for some reason I'm
not understanding.  In the above quote, what is meant by "thing"?

Thank you.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Boolean question

2011-03-16 Thread Donald Bedsole
On Wed, Mar 16, 2011 at 5:53 PM, bob gailer  wrote:

>
> Thing in this context means 'anything". could be a string, number, list, any
> Python object.
>

Ok, thanks Bob.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Boolean question

2011-03-16 Thread Donald Bedsole
Hi Jack,

On Wed, Mar 16, 2011 at 1:55 AM, Jack Trades  wrote:

 'and' evaluates one argument at a time and returns immediately if the
 argument is False.
>

And  "or" works in the inverse manner?  It "evaluates one argument at
a time and returns immediately if the argument is [True]." ?

For example,

>>> not (True or False)
>>> False

The first argument was "True", so "True" was returned and negated by
the "not" with a final result of "False" for the expression.

Is this correct?
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] python.py with no console

2011-03-18 Thread Donald Bedsole
Hi folks,

On Fri, Mar 18, 2011 at 3:16 PM, Alan Gauld  wrote:
>
> "sihong lin"  wrote
>>
>> Those days the idle couldn't open in windows 7.
>> Today I found the type of file python.py(c:\Python27\lib\idlelib) is
>> "no console". what is it means? that is why the idle couldn't
>> open, right?
>
> No, that just means you don't get a black DOS window in the
> background. But since I don't have Win 7 I can't comment on
> the reason you have an IDLE problem, but I believe it should
> work OK in Windows 7.
>
> Can anyone else confirm?
>
>
> --
> Alan Gauld
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/


IDLE opens ok for me on Windows 7.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] python.py with no console

2011-03-18 Thread Donald Bedsole
Hello,

On Fri, Mar 18, 2011 at 12:46 PM, sihong lin wrote:

> hi,
>
> Those days the idle couldn't open in windows 7. Today I found the type of
> file python.py(c:\Python27\lib\idlelib) is "no console". what is it means?
> that is why the idle couldn't open, right?
>
> thanks
>
> Sharon
>

Can you start Python from a command prompt?
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] New to programming

2011-03-18 Thread Donald Bedsole
Hi, Welcome to the list:

On Fri, Mar 18, 2011 at 7:48 PM, Savyn - OpenERP Mail
 wrote:
> Dear Everyone
>
> I am new to programming (a passion mainly). I have no background in 
> programming.  The python.org beginner tutorial seems hard after a few 
> chapters or not sure how to merge requirement with the tutorials.
>
> Where and how should I start programming with python for complete beginner?
>
> Many thanks
> Sav


Here's the tutorial I'm doing now.  It's for complete programming beginners:

http://learnpythonthehardway.org/index

Allen Gault (a member of this list) also has a tutorial for beginners
at his site:

http://www.alan-g.me.uk/

Don
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] help with user input

2011-03-21 Thread Donald Bedsole
I'm going through a tutorial called "Learn Python the Hard Way" by Zed
Shaw.  At the end of his lessons he has "Extra Credit" sessions, and
I'm stuck on one.

I'm on lesson 35, here is a link to it:

http://blamcast.net/python/ex35.html

The lesson involves creating a very simple text based game.  One of
the functions accepts user input:

def gold_room():
print "This room is full of gold.  How much do you take?"

next = raw_input("> ")
if "0" in next or "1" in next:
how_much = int(next)
else:
dead("Man, learn to type a number.")

if how_much < 50:
print "Nice, you're not greedy, you win!"
exit(0)
else:
dead("You greedy bastard!")


The instruction from the Extra Credit section reads:

The gold_room has a weird way of getting you to type a number. What
are all the bugs in this way of doing it? Can you make it better than
just checking if "1" or "0" are in the number? Look at how int() works
for clues.


I have read the documentation for int() and done some googling, but no
lights have come on. :-)

Here is what I have so far:

def gold_room():
print "This room is full of gold. How much do you take?"

next = raw_input("> ")
if next <= "50":
how_much = int(next)

else:
dead("You were too greedy.")

if how_much < 50:
print "Nice, you're not greedy, you win!"
exit(0)

else:
dead("Man, learn to type a number!")


This works fine as long as the user enters a number.  However, if they
enter anything else, they just get the first :else statement, "You
were too greedy."

My googling found solutions using an exception, but that hasn't been
introduced yet in the tutorial.  How would you solve this without
using an exception?

Thanks for any help,

Don
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] help with user input

2011-03-21 Thread Donald Bedsole
Thank you, Marc

On Mon, Mar 21, 2011 at 4:47 PM, Marc Tompkins  wrote:
> On Mon, Mar 21, 2011 at 1:12 PM, Donald Bedsole  wrote:
>>
>> This works fine as long as the user enters a number.  However, if they
>> enter anything else, they just get the first :else statement, "You
>> were too greedy."
>>
> I think that's because you're trying to do a string comparison, rather than
> a numeric comparison. (if next <= "50":)  You need to convert 'next' to an
> int FIRST, then compare to 50, not "50".
>
>>
>> My googling found solutions using an exception, but that hasn't been
>> introduced yet in the tutorial.  How would you solve this without
>> using an exception?
>>
>
> If you don't want to use an exception, check the entered value first (note:
> I haven't checked my code, so caveat lector) -
>
>> next = raw_input(">")
>> if next.isdigit():
>>     if int(next) < 50:
>>     print "Nice, you're not greedy, you win!"
>>     else:
>>     dead("You were too greedy.")
>> else:
>>     dead("Man, learn to type a number!")
>
> isdigit() returns True if every character is a digit; False otherwise.
> http://docs.python.org/library/stdtypes.html
>
>
> Using an exception:
>
>> next = raw_input(">")
>> try:
>>     if int(next) < 50:
>>     print "Nice, you're not greedy, you win!"
>>     else:
>>     dead("You were too greedy.")
>> except ValueError:
>>     dead("Man, learn to type a number!")
>
> Note that I specified ValueError - you want to make your exception handling
> as specific as possible, so that if really unforeseen things go wrong, your
> program doesn't blindly treat them as normal.  In other words, if any
> exception other than ValueError were to pop up here, you would want the
> program to terminate and show you a traceback so you could fix it.
>
>
>

It'll take me awhile to digest this.  Thanks for your time and your help.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Guessing Game Program

2011-03-24 Thread Donald Bedsole
Hi folks,

This is a little program I've written to bring together some things
I've been trying to learn (not an attempt, of course, to make an
interesting game)..  I've been working my way through a beginner's
tutorial, and except for a very basic program I wrote in C++ one time,
I think this is the first program I've ever done from scratch.  Of
course, I've incorporated ideas I've learned from folks on the
Internet, my tutorial, and this list.

I"m sure I've broken some rules along the way, but it does work
without any errors (that I have found).

So, how could I improve it?  Is it readable to you, or a mess?

Thanks for your time,

Don


#Author D.Bedsole
#drbedsole at gmail.com
#3/24/10
#License: Public Domain


import random
from sys import exit

#A guessing game where user must guess a number between 1 and 10



def start_up():
print "Hello, and welcome to the Guessing Game. Here are the rules:\n"
print "Try to guess the correct number.  It is between 1 and 10."
print "You have ten chances."
print "To quit the game just type 'quit' (w/o the quotes) at the prompt.\n"
print "Here we go!\n"



def ran_num():
the_number = random.randint(1,10)
return the_number

def guess_loop(the_number):
start_number = 0
while start_number < 10:
print "Please guess a number between 1-10. Enter your
guess at the prompt."
guess = (raw_input("> "))   
if "exit" in guess: #Give user a chance to exit w/o finishing game
print "Thanks for playing. Goodbye!"
exit()


if  guess.isdigit(): #validate input
guess = int(guess)
else:
print "You didn't enter a number."
continue #Return to top of the loop so user can enter number



if guess > the_number:
print "Sorry. You guessed too high."
start_number += 1
attempt_counter(start_number, the_number)#warn user of 
remaining tries

elif guess < the_number:
print "Sorry. That was too low.\n"
start_number += 1
attempt_counter(start_number, the_number)#warn user of 
remaining tries
else:
print "Congratulations. You guessed it!\n"
print "Do you want to play again? Type 'y' for yes and 'n' for 
no"
response = raw_input("> ")
if 'y' in response:
start_up(guess_loop(ran_num()))
else:
print "Thanks for playing.  Goodbye."   
exit()


#Track guesses attempted and warn of end of game when chances
exhausted
def attempt_counter(start_number, the_number):
print "That was attempt #%d." % (start_number)
if start_number == 10:
print "That was your last chance.  The correct answer was %d."
% (the_number)
print "Do you want to start a new game. Type 'y' for yes and
'n' for no."
answer = raw_input("> ")
if 'y' in answer:
start_up(guess_loop(ran_num()))
else:
print "Thanks for playing.  Goodbye."
exit()



#function calls to start program
start_up()
guess_loop(ran_num())
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Guessing Game Program

2011-03-24 Thread Donald Bedsole
On Fri, Mar 25, 2011 at 12:53 AM, Donald Bedsole  wrote:
> Hi Malcolm :-)
>
> On Fri, Mar 25, 2011 at 12:37 AM, Malcolm Newsome
>  wrote:
>> Hey Don!
>>
>> I posted an eerily similar request to another python group about two weeks
>> ago!  I, too, am very new to programming and the guessing game was my first
>> shot at writing a script from scratch!
>
> I got interested in writing a guessing game because I was trying to
> fix a C++ program that wouldn't compile with g++ because they were
> using a non-standard randomizer() function.  (I really don't know C++,
> but I thought trying to fix the problems with someone else's program
> might help me to learn).  I didn't make much headway in understanding
> how to generate random numbers in C++, but it made me curious about
> how to do it in Python.  Python seems much easier!
>
>>
>> Below is my code (improved with some help from others).  I still would like
>> to make some improvements to it also.  But, perhaps there will be some ideas
>> in it that can help you as well!  Looking forward to learning and growing!
>>
>> All the best!
>>
>> Malcolm
>
>
> Thanks for posting your code.  I will look at it later (closing in on
> 1:00 AM here) to see what I can learn from it.  Tutorials are great,
> but it seems looking at code makes it easier for me to learn.
>
> Thanks for taking the time to post, and I hope you're successful in
> your programming studies.
>
> Don
>
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Error in programming

2011-03-24 Thread Donald Bedsole
Hi Lea,

On Fri, Mar 25, 2011 at 1:27 AM, Lea Parker  wrote:
> Hello
>
>
>
> Just wondering if you have some time to cast your eyes over another  basic
> program.
>
>
>
> # Prompt user for data
>
> def main():
>
>     print 'This program is to calculate your ticket sales to the softball
> game'
>
>     print   #blank line
>
>
>
>     # Value of each level of seat
>
>     a_seat = 15.00
>
>     b_seat = 12.00
>
>     c_seat = 9.00
>
>
>
>     # Obtain data
>
>     sales_a = int (raw_input('Enter the number of class A tickets sold '))
>
>     sales_b = int (raw_input('Enter the number of class B tickets sold '))
>
>     sales_c = int (raw_input('Enter the number of class C tickets sold '))
>
> income_generated(a_seat, b_seat, c_seat, sales_a, sales_b, sales_c)
>
>
>
> # Obtain data to determine income generated from sales
>
> def income_generated(a_seat, b_seat, c_seat, sales_a, sales_b, sales_c):
>
>     total_sales = """times the seat value by the number of seats sold for
> each seat
>
>     and add totals togeter"""(sale_a * a_seat) + (sale_b * b_seat) + (sale_c
> * c_seat)
>
>
>
>     #Display result to user
>
>     print int ('Your total sales for the softball game are: $ ',
> total_sales)
>
>
>
> # Call the main function
>
> main()
>
>
>
> I get the following errors:
>
  RESTART
 
>

>
> This program is to calculate your ticket sales to the softball game
>
>
>
> Enter the number of class A tickets sold 5
>
> Enter the number of class B tickets sold 5
>
> Enter the number of class C tickets sold 10
>
>
>
> Traceback (most recent call last):
>
>   File "F:/Backups/MY Documents26.2.11/Documents/Lea University/CSU/ITC10 -
> Programming Principles/2011/Assessment Tasks/Assessment 1b and
> 1c/Stadium_Seating.py", line 29, in 
>
>     main()
>
>   File "F:/Backups/MY Documents26.2.11/Documents/Lea University/CSU/ITC10 -
> Programming Principles/2011/Assessment Tasks/Assessment 1b and
> 1c/Stadium_Seating.py", line 18, in main
>
>     income_generated(a_seat, b_seat, c_seat, sales_a, sales_b, sales_c)
>
>   File "F:/Backups/MY Documents26.2.11/Documents/Lea University/CSU/ITC10 -
> Programming Principles/2011/Assessment Tasks/Assessment 1b and
> 1c/Stadium_Seating.py", line 23, in income_generated
>
>     and add totals togeter"""(sale_a * a_seat) + (sale_b * b_seat) + (sale_c
> * c_seat)
>
> NameError: global name 'sale_a' is not defined
>

>
>
>
> My way of thinking is firstly I need to fix line 29 which is main(), I tried
> to do this by adding the brackets around text output in line 26. This seemed
> to allow me to type main against margin rather than it wanting to indent but
> didn’t fix the problem. Your suggestions would be appreciated.
>
>
>
> Thank
>
> Lea
>

Don't know if it's the only problem, but :

> NameError: global name 'sale_a' is not defined

I think this comes from the fact that you spelled one variable name
"sale_a" in one place, and up where you originally assigned it you
spelled it, "sales_a."

Don
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] PyVISA GPIB

2011-04-01 Thread Donald Bedsole
Hi Mark,

On Fri, Apr 1, 2011 at 11:42 AM,   wrote:
>  I would like to control electronic instruments with PyVISA. I have 
> downloaded PyVISA and unpacked the files into the Python27/lib/site-packages 
> dir and in the IDLE
> GUI I run "import visa' for a quick check and I get this error:
>
> import visa
>
> Traceback (most recent call last):
>  File "", line 1, in 
>    import visa
> ImportError: No module named visa
>
> I'm scratching my head. Help
>
> Mark R Rivet, Genesis Software Consulting
> ASCT(Computer Technologies), BSIT/SE(Software Engineering)
> Electrical Engineering Technician
> Member IEEE, Computer Society
>
>
> Do or do not; there is no try.

Could this be the problem?

PyVISA doesn’t implement VISA itself. Instead, PyVISA provides
bindings to the VISA library (a DLL or
“shared object” file). This library is usually shipped with your GPIB
interface or software like LabVIEW. Alternatively, you can download it
from your favourite equipment vendor (National Instruments, Agilent,
etc).

quote from this document:

http://pyvisa.sourceforge.net/pyvisa.pdf
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] PyVISA GPIB

2011-04-01 Thread Donald Bedsole
Sorry,

On Fri, Apr 1, 2011 at 1:00 PM, Donald Bedsole  wrote:
> Hi Mark,
>
> On Fri, Apr 1, 2011 at 11:42 AM,   wrote:
>>  I would like to control electronic instruments with PyVISA. I have 
>> downloaded PyVISA and unpacked the files into the Python27/lib/site-packages 
>> dir and in the IDLE
>> GUI I run "import visa' for a quick check and I get this error:
>>
>> import visa
>>
>> Traceback (most recent call last):
>>  File "", line 1, in 
>>    import visa
>> ImportError: No module named visa
>>
>> I'm scratching my head. Help
>>
>> Mark R Rivet, Genesis Software Consulting
>> ASCT(Computer Technologies), BSIT/SE(Software Engineering)
>> Electrical Engineering Technician
>> Member IEEE, Computer Society
>>
>>
>> Do or do not; there is no try.
>
> Could this be the problem?
>
> PyVISA doesn’t implement VISA itself. Instead, PyVISA provides
> bindings to the VISA library (a DLL or
> “shared object” file). This library is usually shipped with your GPIB
> interface or software like LabVIEW. Alternatively, you can download it
> from your favourite equipment vendor (National Instruments, Agilent,
> etc).
>
> quote from this document:
>
> http://pyvisa.sourceforge.net/pyvisa.pdf
>

I read the document a little better and visa is supposed to be part of
the function.  But maybe something else in the document might help
you.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor