Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why don't you think it is better? Easier to understand. I was mostly joking, but I think it's a little unfair to imply people who are not great at math are bad programmers.


they are certainly bad computer scientists, since its a subdiscipline of mathematics.

can they be great artisans? sure.

why do i think its not better? i said im not sure. i think the two options are about equal in readability, up to taste. yours is probably more efficient in terms of cpu cycles.


Is yours even correct, though? I can't prove it...


you can prove it by opening a terminal, typing "python", hitting enter, then copying my line and verifying the result.

whats your sticking point?


sum([j*2 for j in range(0, 11/2)]) ?

It's not right. It doesn't give you the value 10, as you'd "expect".


0

2

2+4 = 6

2+4+6 = 12

if you sum even numbers, starting from 0, "10" is not a possible result. i dont know what youre trying to do there.


I mean the list: [j*2 for j in range(0, 11/2)] Does not give you the item "10" in the list.

So it skips 10...


yea, because 5 is the end of the range.

if you do sum(range(0,10,2)), 10 isn't reached either.

why are we having this discussion?


Yeah, but if you write "end_range" I'd expect that to be the end range. So your implementation should actually be something like:

[j2 for j in range(0, (11+1)/2)]

Your code is wrong.

sum(range(0,11,2)) works as expected, [j*2 for j in range(0, (11)/2)] does not.


congrats.


What?

You seem like you have issues.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: