It sounds like what you're saying is "I want a function, but I don't
want a function." Perhaps I could offer some better suggestions if I
understood why "def f(...)" isn't acceptable.

On Wed, Feb 8, 2012 at 1:16 AM, Chappman <chappman....@gmail.com> wrote:
> Yes I do want a function of some sort here, but I do not want a "def
> chaps(u,v)" like what anton has done for now, both for my simplified
> and larger problem.
> Is there  a solution/method to this?
>
> Kind Regards
> Chappman
>
> On Feb 7, 9:35 pm, Robert Bradshaw <rober...@math.washington.edu>
> wrote:
>> On Tue, Feb 7, 2012 at 1:07 PM, Chappman <chappman....@gmail.com> wrote:
>> > Hi Rob,
>> > I am pretty new to Sage and am not used to the syntex, so even though
>> > I write [y1,y2] , i do not mean it as a list.
>> > Basically what I am trying to do is try and get the folllowing code to
>> > work, if the summation does come out correct ly
>> > x would be equal to 5 , i.e. x=5.
>>
>> Sage will interpret [y1, y2] as a list (as will others reading your code).
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> > I would not need to specify when y1<y2 because I have made a rule in
>> > my summation that y2 in [1..y1], so y2 can never be bigger than y1.
>>
>> > So the way I want my code to work is basically, when doing the
>> > summation, the first one would be [y1,y2] = [1,1], then using my
>> > previously set criteries
>>
>> > if y1=y2:
>> >     [y1,y2]=2
>> > elif y1>y2:
>> >     [y1,y2]=1
>>
>> > this would make                        [y1,y2] = [1,1]=2
>> > my second summation would be [y1,y2] = [2,1]=1
>> > my last summation would be      [y1,y2] = [2,2]=2
>>
>> > so then x += [y1,y2]  = 5
>>
>> > -------------------------------------
>> > if y1=y2:
>> >     [y1,y2]=2
>> > elif y1>y2:
>> >     [y1,y2]=1
>>
>> > x=0
>> > for y1 in [1..2]:
>> >     for y2 in [1..y1]:
>> >          x += [y1,y2]
>> > print x
>> > -------------------------------------
>>
>> > Is there a method of not using a function like "def chap(u,v)" for
>> > this right now, because this is just a simplified problem, of my
>> > larger problem. Thank you for taking your time looking at this.
>>
>> If I understand your intent correctly, you do want a function here,
>> both for the simplified and larger problem. Is there a reason that
>> this doesn't work for you?
>>
>>
>>
>>
>>
>>
>>
>> > On Feb 7, 8:07 pm, Anton Sherwood <bro...@pobox.com> wrote:
>> >> On 2012-2-07 01:18, Chappman wrote:
>>
>> >> > Hi Rob,
>>
>> >> > with this syntex:
>>
>> >> >> x=0
>> >> >> for y_1 in [1..2]:
>> >> >>      for y_2 in [1..y_1]:
>> >> >>           x += [y_1,y_2]
>> >> >> print x
>>
>> >> > what I am trying to do is, trying to use the two numbers y_1 and y_2
>> >> > in x +=[y_1,y_2]
>> >> > to assign it a number from previously set conditions
>>
>> >> >> if y_1 = y_2:
>> >> >>      y_1 = y_2 = 2
>> >> >> elif y_1>y_2:
>> >> >>      y_1 = y_2 = 1
>>
>> >> > but currently my code is having trouble doing that.
>> >> > Is there a way to do this please?
>>
>> >> Are you trying to define [u,v] as a function whose value is 2 if the
>> >> arguments are equal and 1 if u>v?  (What if v<u?)  Among other syntactic
>> >> problems, you can't do that with [], because that symbol is reserved for
>> >> lists.
>>
>> >> Here's how I'd do what I think you're trying to do:
>>
>> >> # define a function of two inputs
>> >> def chap(u,v):
>> >>         if u==v: return 2
>> >>         # no 'else' needed, because 'return' breaks out of the function
>> >>         if u>v: return 1
>> >>         return None     # ought to be a numeric value
>>
>> >> x=0
>> >> for y1 in range(1,3):
>> >>         for y2 in range(1,y1+1):
>> >>                 x += chap(y1,y2)
>> >> print x
>>
>> >> --
>> >> Anton Sherwood *\\*www.bendwavy.org*\\*www.zazzle.com/tamfang
>>
>> > --
>> > To post to this group, send email to sage-support@googlegroups.com
>> > To unsubscribe from this group, send email to 
>> > sage-support+unsubscr...@googlegroups.com
>> > For more options, visit this group 
>> > athttp://groups.google.com/group/sage-support
>> > URL:http://www.sagemath.org
>
> --
> To post to this group, send email to sage-support@googlegroups.com
> To unsubscribe from this group, send email to 
> sage-support+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-support
> URL: http://www.sagemath.org

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to