how can i do this
That's a very basic question. Try a tutorial.
Read over your textbook and the notes you took in class -- I'm
sure therein you'll find how to define functions, how to specify
parameters, how to return values, and how to do basic arithmetic
operations. You can also hit up python.org and
diveintopython.org for more reading if you need.
I'll give you a hint: If you use
twice = lambda x: int(x**2/(0.5*x))
I suspect your professor will flunk you for cheating.
-tkc
Yes, that certainly is an easy question.
Here's my solution:
class MultiplierFactory(object):
def __init__(self, factor=1):
self.__factor = factor
@property
def factor(self):
return getattr(self, '_%s__factor' % self.__class__.__name__)
def __call__(self, factor=None):
if not factor is not None is True:
factor = self.factor
class Multiplier(object):
def __init__(self, factor=None):
self.__factor = factor
@property
def factor(self):
return getattr(self,
'_%s__factor' % self.__class__.__name__)
def __call__(self, n):
return self.factor*n
Multiplier.__init__.im_func.func_defaults = (factor,)
return Multiplier(factor)
twice = MultiplierFactory(2)()
It needs some error checking, but otherwise should work.
Ever-helpful-ly y'rs,
--
Steven
Simple:
Once you define the function, "copy" it using your editor commands,
then "paste" it right below the original.
Carl Banks
Tsk...no docstrings? no unit tests or doctests? no parameter
validation? no copyright notice? no revision-tracking nor
authorship comments? what sort of bad example are you setting
here? You want this kid to fail?! With such poor instruction,
it's no wonder the economy is going to shambles, the educational
system is falling apart, there's global warming, terrorism, spam,
and reality television. Your piteous code make Paris Hilton cry.
[shakes head in disappointment]
;-)
-tkc
I don't think this can be done in Python.
Looking at the Subject line I thought your problem was
going to be easy: There's only one float type in Python,
so at least in most implementations simply converting to
float will suffice to "double" a variable.
But you actually want to return twice the value. I don't
see how to do that.
> u don't want to answer................then why post?...get lost.
You're not doing yourself a favor with this attitude, much less
displaying it. You asked a question that you could have solved with 1
hour's worth of reading at most (much less if you're actually attending
some sort of class for this).
I'm not saying you deserve to be mocked, but it is a fact of life that
you get these responses when it is apparent that you put almost no
effort into this problem.
Here's a tip: post to the group your code that you came up with
yourself and explain what gives you trouble. I assure you, the
responses will be more helpful that way.
/W
--
INVALID? DE!
On the contrary! We *do* want to answer. Prizes are awarded based on
the most outlandish yet correct answer, on the most literal answer, and
on the funniest answer!
Ridiculous questions like yours are what make the daily checking of the
mailing list worth while.
Now, if you have a _real_ question, that's not homework, check out
http://catb.org/~esr/faqs/smart-questions.html and then try again.
Happy Coding!
~Ethan~
I eat children...
> But you actually want to return twice the value. I don't see how to do
> that.
What?
Seriously? You're not just yanking the OP's chain???
--
Steven
who normally does quite well detecting sarcasm in writing
Ah, I think I see...returning more than once is done with the
"yield" keyword:
def f(param):
yield param
yield param
That returns twice the integer parameter... :-D
However, the OP was instructed to "Write the definition of a
function twice" which means I'd have to copy & paste the final
function definition a second time to make sure it was done twice
(as Carl suggested).
Then again as David notices, the subject lines asks how to double
a variable, in which case one might want
import struct
def f(param):
return struct.pack('f', param)
which doubles the parameter... :-S
-tkc
It's easy:
def twice(i):
return i
return i
--
Grant
What are you, eleven years old?
Look, you asked us to answer for you what is CLEARLY a homework question.
It is unethical for you to ask that, and it is unethical for us to answer
it.
As others have said, show us what you TRIED, and we can help you make it
work.
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.
I will stop this theatre...
as you should know, you want your function to make arithmetic
operation n*2.
Everything you have to do is to define some function with parameter n
and make this function to return n*2.
If you are not jerk, you can make the whole code you need from the
previous sentence :)))
> carl banks.........you are a dork
No mister_do_my_homework, he is not.
He is actually a respected member
of this little community.
You, however, are beginning to look like one.
Why do you not come clean - tell us what you are doing,
show us what you have tried, and maybe, just maybe,
some kind soul will help you, instead of mocking you.
Although that is now less likely as you have started calling
people derogatory names.
And if you do not at least do what I have suggested, there is about a
snowball's hope in hell of anybody helping you, as you come across as a
parasite who wants other people to do his work.
Prove you are not, or go away.
- Hendrik
You seem to have forgotten to CC the list. Let me help show the
world your "mad skillz" -- at replying, at programming, at
orthography, at interpersonal communication...
Sure you can ask all the questions you want...and the newsgroup
can give all the answers it sees fit. In all likelihood, your
professor wanted *you* to solve the problem, not have
comp.lang.python solve the problem for you. You got at least two
answers that "solve" the problem, but were designed to clearly
indicated to the professor that you didn't author them yourself.
From my experience teaching students to program, that's the sort
of problem that 4th or 5th graders (who have been paying
attention in class) should be able to do with no need to ask for
help.
Given that you made *no* effort (your post had *zero* code to
show you had even attempted the problem), you got back far more
than you put in.
-tkc
\d
--
home: http://otherwise.relics.co.za/
2D vector animation : https://savannah.nongnu.org/projects/things/
Font manager : https://savannah.nongnu.org/projects/fontypython/
Please note that most mails here are humorous - as should be expected
for a language named after Monty Python.
So, please do not get angry and do take it the way it was intended.
The main problem that everybody sees is that the code you asked is
extremely simple. This causes others to think that you have not
invested any time in getting a solution yourself. Most of us here are
>30 years old, and we know from experience that if one does not invest
time and energy in solving issues when we are young, it eventually
leads us to a very unrewarding and unhappy life in the end.
So, even though it looks to you that people are mocking you, it is not
exactly the case. If you do try to get a solution and is unable to do
so, then I am 100% sure that many many people would have provided you
the answer or the way to do so.
Also, since you are young (presumably), it would be good to understand
that if you get it into a flamewar (email or in life), it tends to end
bad for you in the end. Esp, MRAB, Carl Banks, Steven D'Aprano, Tim
Chase etc , whom you flamed, are amongst the most respected people in
this group.
> daggerdvm <dagg...@yahoo.com> wrote:
>>
>>carl banks.........you are a dork
>
> What are you, eleven years old?
>
> Look, you asked us to answer for you what is CLEARLY a homework question.
> It is unethical for you to ask that, and it is unethical for us to answer
> it.
Forget ethical. We can do his homework for him, we can perhaps pass exams
for him, maybe graduate for him, and then with our luck, he'll get a job in
our office and we get to do his work for him.
Mel.
> Tim Roberts wrote:
> > Look, you asked us to answer for you what is CLEARLY a homework
> > question. It is unethical for you to ask that, and it is unethical
> > for us to answer it.
>
> Forget ethical. We can do his homework for him, we can perhaps pass
> exams for him, maybe graduate for him, and then with our luck, he'll
> get a job in our office and we get to do his work for him.
+1 QOTW
--
\ “Special today: no ice cream.” —mountain inn, Switzerland |
`\ |
_o__) |
Ben Finney
No, no, no. The plan is to do his homework for him so that
he's incompetent when he graduates and won't be competition for
the rest of us who did do our homework.
--
Grant Edwards grante Yow! ... the HIGHWAY is
at made out of LIME JELLO and
visi.com my HONDA is a barbequeued
OYSTER! Yum!
Well, while they may not be as much competition come promotion time, I
think Mr. Finney had it right that these people *do* still somehow get
hired, and then the rest of us end up having to do enough work for
multiple people. Sometimes spending more time redoing other peoples'
shoddy work than it would have taken to do ourselves in the first
place. Annoying for the programmer, but really bad for business.
>> > Forget ethical. We can do his homework for him, we can perhaps pass
>> > exams for him, maybe graduate for him, and then with our luck, he'll
>> > get a job in our office and we get to do his work for him.
>>
>> No, no, no. The plan is to do his homework for him so that he's
>> incompetent when he graduates and won't be competition for the rest of
>> us who did do our homework.
>
> Well, while they may not be as much competition come promotion time, I
> think Mr. Finney had it right that these people *do* still somehow get
> hired
...
It was Mel Wilson, not Ben Finney, who write the paragraph starting with
"Forget ethical".
--
Steven
> you brain needs error checking!
Your post, by contrast, needs grammar checking.
--
Rhodri James *-* Wildebeest Herder to the Masses
> On Mon, 21 Sep 2009 13:50:23 -0500, David C Ullrich wrote:
>
>> But you actually want to return twice the value. I don't see how to do
>> that.
>
> What?
>
> Seriously?
You're saying it _can_ be done in Python? They must have added
something to the standard library again. I mean how can you return
twice a value without a twice function to start with? I've tried.
You'd think
def twice(n):
return twice(n)
would work, but I get this really long error message.
> You're not just yanking the OP's chain???
That would be cruel. I mean the guy has enough problems already...
Sorry, there is no 'twice' builtin. I think what you are looking for
is:
def twice(n):
return return n
Iain
Actually, what he wants is:
(def twice (x)
(+ (once x) (once x)))
this kid knows error checking...may be he know exceptions as well
Whose brain? At least I know this:
Your brain is beyond repair. Go for a brain transplant.
Groetjes Albert
--
--
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst
It makes use of some numerical approximations, but that's not
necessarily a bad thing, because it helps avoid singularities. So it
could be a little more robust than other solutions presented here.
It also has a little more functionality: Say you wanted to return
three times a variable, you wouldnt want to write another function to
do that for you, so now you just pass in how many times you want the
variable repeated as the first parameter.
Hope this helps! Cheers!
import math
def repeat(how_many_times, x):
def f(n):
return 1./(2**n)
def summation(func, howmany):
if howmany == 1:
return func(1)
else:
return func(howmany) + summation(func, howmany-1)
def eulerify(num):
return abs(math.cos(math.pi) + 1j*(math.sin(math.pi))) * num
def get_coefficient(multiplier):
return eulerify(multiplier * summation(f, 100))
return int(eulerify(get_coefficient(how_many_times) * x))
2009/9/20 daggerdvm <dagg...@yahoo.com>:
> Write the definition of a function twice , that receives an int
> parameter and returns an int that is twice the value of the
> parameter.
>
> how can i do this