Newbee Question

H

HD1956

This is probably a simple code. I am a truck driver who gets paid by
stops and cases. I am trying to figure out how to code my stop pay. I
get 40 cents per stop up to 22 stops, and $1.40 per stops after that.
 
K

kyosohma

This is probably a simple code. I am a truck driver who gets paid by
stops and cases. I am trying to figure out how to code my stop pay. I
get 40 cents per stop up to 22 stops, and $1.40 per stops after that.

def calc(num):
if num < 23:
return 0.4 * num
else:
overtime = num - 22
x = 0.4 * 22
x += overtime * 1.4
return x

# Use your own brain next time

Mike
 
S

Shawn Milochik

def calc(num):
if num < 23:
return 0.4 * num
else:
overtime = num - 22
x = 0.4 * 22
x += overtime * 1.4
return x

# Use your own brain next time

Mike




Mike,

I wonder if we were both just duped into helping someone with their homework...

Shawn
 
D

Diez B. Roggisch

HD1956 said:
This is probably a simple code. I am a truck driver who gets paid by
stops and cases. I am trying to figure out how to code my stop pay. I
get 40 cents per stop up to 22 stops, and $1.40 per stops after that.

Sounds a bit like homework. Which usually isn't simply delivered here.

Can you show us some code you worked on, then we might suggest enhancements.

Diez
 
K

kyosohma

Mike,

I wonder if we were both just duped into helping someone with their homework...

Shawn

I like to write code, so it's not a big deal when it's something so
simple. Still, that is beyond dumb! Nice code, by the way.

Mike
 
S

Shawn Milochik

I like to write code, so it's not a big deal when it's something so
simple. Still, that is beyond dumb! Nice code, by the way.

Mike

Yeah, it was fun to write anyway. Thanks for the compliment on the
code. I still consider myself a Python newbie, so it's good to know
I'm not trying to write it like Perl or VBScript anymore. ^_^

Shawn
 
W

Wildemar Wildenburger

Diez said:
Sounds a bit like homework. Which usually isn't simply delivered here.
Wrong! Usually that happens pretty quickly here (as proven again in this
case). Not that it should, but only the seniors seem to detect lazy
learners.

/W
 
P

Paul McGuire

This is probably a simple code. I am a truck driver who gets paid by
stops and cases. I am trying to figure out how to code my stop pay. I
get 40 cents per stop up to 22 stops, and $1.40 per stops after that.

You'll get top marks for turning in the shortest program!

norm = 0.4
ot = 1.4-norm
otStart = 22
calcPay = lambda stops : norm*stops+ot*max(stops-otStart,0)

-- Paul
 
N

Neil Cerutti

This is probably a simple code. I am a truck driver who gets
paid by stops and cases. I am trying to figure out how to code
my stop pay. I get 40 cents per stop up to 22 stops, and $1.40
per stops after that.

I wish *I* could make a deal like that. I stop working all the
time!
 
H

hd1956

I like to write code, so it's not a big deal when it's something so
simple. Still, that is beyond dumb! Nice code, by the way.

Mike- Hide quoted text -

- Show quoted text -

Thanks for the help. By the way I am trying to learn the python after
work and on weekends. If it was a dumb question, to this group, I will
not bother you all again.
Without help it will take me longer to learn. Thanks
 
J

James Stroud

Thanks for the help. By the way I am trying to learn the python after
work and on weekends. If it was a dumb question, to this group, I will
not bother you all again.
Without help it will take me longer to learn. Thanks

Throw out an example of what you tried with an error message and/or
unexpected results. Ask particulars--this will keep you from giving
truck drivers a bad name.

Sticking-my-fist-out-window-and-making-pulling-down-gesture-ly yours,

James



--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
 
A

Asun Friere

Oh well since a few solutions have already been posted I thought I
might add another, just so you at the very least you have to do some
work making up your mind which one to choose. Using an incremental
approach just to be different ...

from decimal import Decimal

normal = Decimal('0.04')
over = Decimal('1.40)

def calcStopPay (stops) :
pay = Decimal('0.00')
while stops :
incr = normal if stops < 23 else over
pay += incr
stops -= 1
return pay

#testing:
for x in range(50) :
print "Stop pay for %s stops: $%s" % (x, calcStopPay(x))
 
A

Ant

On Aug 20, 11:47 pm, (e-mail address removed) wrote:
....
Thanks for the help. By the way I am trying to learn the python after
work and on weekends. If it was a dumb question, to this group, I will
not bother you all again.

It's not so much that it was a dumb question, but that it was asked in
a dumb way :) You'll get the most help in this group if you can show
some evidence that you've had a go (the size of this thread ironically
trounces that argument of course ;-) .)

It's better to learn if people give you a critique of your own attempt
at the code, rather than looking at other peoples efforts. There's a
guide on how to ask good questions here: http://www.catb.org/~esr/faqs/smart-questions.html

For what it's worth, here's a gratuitous version using generators, and
one you should come back to once you've mastered the basics of Python:

def counter(std_rate, over_rate, limit):
stops = 0
while True:
stops += 1
wage = stops * std_rate + max(0, stops - limit) * (over_rate -
std_rate)
yield stops, wage

truck = counter(0.4, 1.4, 22)

for i in range(30):
print "Stopped %s times, with accumulated wage of $%s" %
truck.next()
 
S

Steve Holden

Thanks for the help. By the way I am trying to learn the python after
work and on weekends. If it was a dumb question, to this group, I will
not bother you all again.
Without help it will take me longer to learn. Thanks
Don't worry about it. There is also a list specifically for learners,
which you can find out about at

http://mail.python.org/mailman/listinfo/tutor

Welcome to the Python community!

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------
 
S

Steve Holden

Thanks for the help. By the way I am trying to learn the python after
work and on weekends. If it was a dumb question, to this group, I will
not bother you all again.
Without help it will take me longer to learn. Thanks
Don't worry about it. There is also a list specifically for learners,
which you can find out about at

http://mail.python.org/mailman/listinfo/tutor

Welcome to the Python community!

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------
 
H

hd1956

On Aug 20, 11:47 pm, (e-mail address removed) wrote:
...


It's not so much that it was a dumb question, but that it was asked in
a dumb way :) You'll get the most help in this group if you can show
some evidence that you've had a go (the size of this thread ironically
trounces that argument of course ;-) .)

It's better to learn if people give you a critique of your own attempt
at the code, rather than looking at other peoples efforts. There's a
guide on how to ask good questions here:http://www.catb.org/~esr/faqs/smart-questions.html

For what it's worth, here's a gratuitous version using generators, and
one you should come back to once you've mastered the basics of Python:

def counter(std_rate, over_rate, limit):
stops = 0
while True:
stops += 1
wage = stops * std_rate + max(0, stops - limit) * (over_rate -
std_rate)
yield stops, wage

truck = counter(0.4, 1.4, 22)

for i in range(30):
print "Stopped %s times, with accumulated wage of $%s" %
truck.next()
I tryed your code and got an error message #I use Wing IDE:
Python 2.2.3 (#42, May 30 2003, 18:12:08) [MSC 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.Evaluating lines 1-16 from truckStops.py
<string>:7: Warning: 'yield' will become a reserved keyword in the
future
Could not execute because an error occurred:
invalid syntax: <string>, line 7, pos 19:
yield stops, wage
 
S

sentientholon

I tryed your code and got an error message #I use Wing IDE:
Python 2.2.3 (#42, May 30 2003, 18:12:08) [MSC 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.

Evaluating lines 1-16 from truckStops.py
<string>:7: Warning: 'yield' will become a reserved keyword in the
future
Could not execute because an error occurred:
invalid syntax: <string>, line 7, pos 19:
yield stops, wage

Python 2.2.3 is three versions behind. Generators only work in 2.2 by
saying:

from __future__ import generators

And by default in anything from 2.3 on.

Fred
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,754
Messages
2,569,522
Members
44,995
Latest member
PinupduzSap

Latest Threads

Top