The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Programming Languages
> Python Programming
|
What happends here?- function
Discuss What happends here?- function in the Python Programming forum on Dev Shed. What happends here?- function Python Programming forum discussing coding techniques, tips and tricks, and Zope related information. Python was designed from the ground up to be a completely object-oriented programming language.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

December 11th, 2012, 08:38 AM
|
|
Registered User
|
|
Join Date: Sep 2012
Posts: 10
Time spent in forums: 1 h 35 m 12 sec
Reputation Power: 0
|
|
|
What happends here?- function
Hello, I just have a quick question regarding a very simple function, what happends?
Code:
def function():
z=0
for i in range(0,5):
for j in range(1,4):
z+=j
print(z)
function()
|

December 11th, 2012, 08:50 AM
|
 |
Contributing User
|
|
Join Date: May 2012
Location: 39N 104.28W
Posts: 90
Time spent in forums: 1 Day 13 h 37 m 44 sec
Reputation Power: 2
|
|
Quote: | Originally Posted by klskl Hello, I just have a quick question regarding a very simple function, what happends?
Code:
def function():
z=0
for i in range(0,5):
for j in range(1,4):
z+=j
print(z)
function()
|
Well, the way you posted it, nothing would happen because the indentation is screwed up. What it appears to be doing is adding 1+2+3 5 times, that is at the end, z=30.
|

December 11th, 2012, 09:13 AM
|
 |
Contributing User
|
|
|
|
|
fix post
You get an IndentationError . Please read the information at my signature to post code.
(use code tags instead of[indent].)
Rashkin was already here!
You can help yourself with print statements:
Code:
def function():
z=0
for i in range(0,5):
print('i has value %d'%i)
for j in range(1,4):
print('\tj has value %d'%j)
z+=j
print('\tz gruesome, %d'%z)
print(z)
function()
__________________
[code] Code tags[/code] are essential for python code!
|

December 11th, 2012, 10:42 AM
|
|
Registered User
|
|
Join Date: Sep 2012
Posts: 10
Time spent in forums: 1 h 35 m 12 sec
Reputation Power: 0
|
|
Quote: | Originally Posted by rrashkin Well, the way you posted it, nothing would happen because the indentation is screwed up. What it appears to be doing is adding 1+2+3 5 times, that is at the end, z=30. |
yes, but why does it do that? How can you see that, if you care to explain I would be grateful
|

December 11th, 2012, 10:48 AM
|
 |
Contributing User
|
|
Join Date: May 2012
Location: 39N 104.28W
Posts: 90
Time spent in forums: 1 Day 13 h 37 m 44 sec
Reputation Power: 2
|
|
|
First you set z=0.
The inner-most loop, for j in range(1,4):, makes j=1,2,3 in succession. At each iteration j is added to z and the sum is the new z, z+=j.
You do that 5 times: for i in range(0,5):, where i= 0,1,2,3,4 but is just a loop counter. That is, i is not used in the calculation.
|

December 11th, 2012, 02:53 PM
|
|
Registered User
|
|
Join Date: Sep 2012
Posts: 10
Time spent in forums: 1 h 35 m 12 sec
Reputation Power: 0
|
|
Quote: | Originally Posted by rrashkin First you set z=0.
The inner-most loop, for j in range(1,4):, makes j=1,2,3 in succession. At each iteration j is added to z and the sum is the new z, z+=j.
You do that 5 times: for i in range(0,5):, where i= 0,1,2,3,4 but is just a loop counter. That is, i is not used in the calculation. |
Thanks!
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|