Re: [Tutor] Program for outputing the letter backward

2006-03-30 Thread Ed Singleton
On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
 --- John Fouhy [EMAIL PROTECTED] wrote:

  On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
   vehicle='car'
   index = vehicle[-1]   #the last letter
   index_zero = vehicle[0]   #the first letter
  
   while index = index_zero:
  letter=vehicle[index]
  print letter
  index -= 1
  
   The problem is that I get no output here. Could I
  hear
   from you?
 
  I can print the letters backwards like this:
 
  vehicle = 'car'
  print vehicle[2]
  print vehicle[1]
  print vehicle[0]
 
  Output:
 
  r
  a
  c
 
  -
 
  This is not very useful, though, because it will
  only work for strings
  that are exactly three letters long.  Can you see
  how to write a loop
  to produe this output?
 
  Hint: the len() function will tell you how long a
  string is.
 
  eg: if vehicle == 'car' then len(vehicle) == 3.
 
  --
  John.
  ___

 Hi John,

 I am still 'blind' here.

 Please, see below what I did, and what I got:

  vehicle='car'
  index = 0
  lenght =len(vehicle)
  last = vehicle[lenght -1]
  while last = vehicle[0]:
 ... letter = vehicle[index]
 ... print letter
 ... last -= 1
 ...
 c
 Traceback (most recent call last):
   File stdin, line 4, in ?
 TypeError: unsupported operand type(s) for -=: 'str'
 and 'int'

 As you can see, I am still a newbie...
 Could anyone, please, guide me on this exercise?
 Thanks!
 Hoffmann

A technique I used to find useful when I was very first learning (and
struggling) was to calculate the variables for each pass of the loop
(basically remove all the variable names, just like doing algebra).

So:

 vehicle='car'
 index = 0
 lenght = len(vehicle) # therefore:
 lenght = 3
 last = vehicle[lenght -1] # therefore:
 last = vehicle[2] # therefore:
 last = r
 while r = c: # first pass
... letter = vehicle[index] # therefore:
... letter = vehicle[0] # therefore:
... letter = c
... print letter
... last -= 1 # therefore:
... r -= 1 # therefore:
... r = r - 1 # therefore:
... ERROR

You'll find that that can make it much clearer what is actually
happening.  An alternative is to use lots and lots of print
statements:

 vehicle='car'
 print vehicle
 index = 0
 print index
 lenght = len(vehicle)
 print lenght

and so on...

It would be really good if there was a way to have a verbose
interpreter that showed you each of the steps in the process, but I
don't know of any.

For example:

 last = vehicle[lenght -1]
last = vehicle[2]
last = r


Ed
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-30 Thread Hoffmann
--- Ed Singleton [EMAIL PROTECTED] wrote:

 On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
  --- John Fouhy [EMAIL PROTECTED] wrote:
 
   On 29/03/06, Hoffmann [EMAIL PROTECTED]
 wrote:
vehicle='car'
index = vehicle[-1]   #the last letter
index_zero = vehicle[0]   #the first letter
   
while index = index_zero:
   letter=vehicle[index]
   print letter
   index -= 1
   
The problem is that I get no output here.
 Could I
   hear
from you?
  
   I can print the letters backwards like this:
  
   vehicle = 'car'
   print vehicle[2]
   print vehicle[1]
   print vehicle[0]
  
   Output:
  
   r
   a
   c
  
   -
  
   This is not very useful, though, because it will
   only work for strings
   that are exactly three letters long.  Can you
 see
   how to write a loop
   to produe this output?
  
   Hint: the len() function will tell you how long
 a
   string is.
  
   eg: if vehicle == 'car' then len(vehicle) == 3.
  
   --
   John.
   ___
 
  Hi John,
 
  I am still 'blind' here.
 
  Please, see below what I did, and what I got:
 
   vehicle='car'
   index = 0
   lenght =len(vehicle)
   last = vehicle[lenght -1]
   while last = vehicle[0]:
  ... letter = vehicle[index]
  ... print letter
  ... last -= 1
  ...
  c
  Traceback (most recent call last):
File stdin, line 4, in ?
  TypeError: unsupported operand type(s) for -=:
 'str'
  and 'int'
 
  As you can see, I am still a newbie...
  Could anyone, please, guide me on this exercise?
  Thanks!
  Hoffmann
 
 A technique I used to find useful when I was very
 first learning (and
 struggling) was to calculate the variables for each
 pass of the loop
 (basically remove all the variable names, just like
 doing algebra).
 
 So:
 
  vehicle='car'
  index = 0
  lenght = len(vehicle) # therefore:
  lenght = 3
  last = vehicle[lenght -1] # therefore:
  last = vehicle[2] # therefore:
  last = r
  while r = c: # first pass
 ... letter = vehicle[index] # therefore:
 ... letter = vehicle[0] # therefore:
 ... letter = c
 ... print letter
 ... last -= 1 # therefore:
 ... r -= 1 # therefore:
 ... r = r - 1 # therefore:
 ... ERROR
 
 You'll find that that can make it much clearer what
 is actually
 happening.  An alternative is to use lots and lots
 of print
 statements:
 
  vehicle='car'
  print vehicle
  index = 0
  print index
  lenght = len(vehicle)
  print lenght
 
 and so on...
 
 It would be really good if there was a way to have a
 verbose
 interpreter that showed you each of the steps in the
 process, but I
 don't know of any.
 
 For example:
 
  last = vehicle[lenght -1]
 last = vehicle[2]
 last = r
 
 
 Ed
 

Hi Ed,

Many thanks for the hints!

Hoffmann

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward - almost there!

2006-03-29 Thread Hoffmann
--- John Fouhy [EMAIL PROTECTED] wrote:

 On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
  Hi John,
 
  (1) vehicle[index] is: 'c'
  (2) If index = index = 1, so vehicle[index]
 becomes:
  'a'
 
 What I'm getting at here is that, by changing index,
 we can change
 which letter we are looking at.  And index is a
 number, which means
 it's easier to reason about than letters are.
 
 Let's have a look at a possible solution:
 
  vehicle = 'car'
  index = 2
  print vehicle[index]
 r
  index = 1
  print vehicle[index]
 a
  index = 0
  print vehicle[index]
 c
 
 Notice that the three print statements are
 identical.  That suggests
 we could write the code in a loop, with 'print
 vehicle[index]' in the
 body of the loop.  Can you have a go at that?
 
 --
 John.
 ___
 
Hi John,

We are almost there. I changed the code and, at least,
I got the correct output. However, I also got a
traceback. I didn't understand the traceback. Could
you clarify that?
Thanks,
Hoffmann
ps: The new code:

 vehicle='car'
 index = -1  #index of the last letter
 lenght = len(vehicle)
 last = vehicle[lenght-1]
 
 while last = vehicle[0]:
letter=vehicle[index]
print letter
index -= 1


r
a
c

Traceback (most recent call last):
  File pyshell#40, line 2, in -toplevel-
letter=vehicle[index]
IndexError: string index out of range 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward - almost there!

2006-03-29 Thread Adam
I just wanted to throw in a couple of ideas for you on this subject.
These are the ways I would personally think of going about this
problem:

 ''.join([s[n] for n in range(len(s)-1, -1, -1)])
'rac'
Which looks a bit fugly but is nice and short if you can manage list comps.

and now my favourite:

 l = list(car)
 l.reverse()
 ''.join(l)
'rac'

hth
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward - almost there!

2006-03-29 Thread Hoffmann
--- Adam [EMAIL PROTECTED] wrote:

 I just wanted to throw in a couple of ideas for you
 on this subject.
 These are the ways I would personally think of going
 about this
 problem:
 
  ''.join([s[n] for n in range(len(s)-1, -1, -1)])
 'rac'
 Which looks a bit fugly but is nice and short if you
 can manage list comps.
 
 and now my favourite:
 
  l = list(car)
  l.reverse()
  ''.join(l)
 'rac'
 
 hth
 

Hi Adam,

Defenitely your second alternative is really great! 

Regarding that my 'bad' alternative, do you have any
suggestion about that traceback? I not only would like
to have the exercise done. And after your nice
suggestion, I ALREADY have it, but also I would like
to learn about that traceback I got previously.

Thanks,
Hoffmann


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward - almost there!

2006-03-29 Thread Adam
 Hi John,

 We are almost there. I changed the code and, at least,
 I got the correct output. However, I also got a
 traceback. I didn't understand the traceback. Could
 you clarify that?
 Thanks,
 Hoffmann
 ps: The new code:

  vehicle='car'
  index = -1  #index of the last letter
  lenght = len(vehicle)
  last = vehicle[lenght-1]
 
  while last = vehicle[0]:
 letter=vehicle[index]
 print letter
 index -= 1


 r
 a
 c

 Traceback (most recent call last):
   File pyshell#40, line 2, in -toplevel-
 letter=vehicle[index]
 IndexError: string index out of range

while last = vehicle[0]:

The problem is is that neither vehicle[0] nor last change during the
loop so it is always satisified and index eventually becomes a number
that doesn't correspond to an index of the string.
I would suggest something along these lines instead:

for i in range(len(vehicle)-1, -1, -1):
print vehicle[i]

which is basically what my list comp did but printing out the letters
rather than returning a list
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward - almost there!

2006-03-29 Thread Kent Johnson
Hoffmann wrote:
 We are almost there. I changed the code and, at least,
 I got the correct output. However, I also got a
 traceback. I didn't understand the traceback. Could
 you clarify that?
 Thanks,
 Hoffmann
 ps: The new code:
 
 
vehicle='car'
index = -1  #index of the last letter
lenght = len(vehicle)
last = vehicle[lenght-1]

while last = vehicle[0]:
 
   letter=vehicle[index]
   print letter
   index -= 1

You are still confusing the index of a letter and the letter itself.

In [1]: vehicle = 'car'

In [2]: last = vehicle[-1]

In [3]: last
Out[3]: 'r'

last is a letter, not a number.

In [5]: vehicle[0]
Out[5]: 'c'

vehicle[0] is also a letter. So when you write
   while last = vehicle[0]:
you are comparing two characters, which is not really helpful in the 
current context. What you really want to do is compare the index of the 
current character with 0. Here is a working version in the same style:

In [6]: index = len(vehicle)-1

In [7]: while index = 0:
...: print vehicle[index]
...: index -= 1
...:
...:
r
a
c

The best way to reverse a string is with a slice and negative index:

In [8]: vehicle[::-1]
Out[8]: 'rac'

but I'm going to have to leave explanation of that to another day or 
another poster.

Kent


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-29 Thread Hoffmann
--- Kent Johnson [EMAIL PROTECTED] wrote:

 Hoffmann wrote:
  We are almost there. I changed the code and, at
 least,
  I got the correct output. However, I also got a
  traceback. I didn't understand the traceback.
 Could
  you clarify that?
  Thanks,
  Hoffmann
  ps: The new code:
  
  
 vehicle='car'
 index = -1  #index of the last letter
 lenght = len(vehicle)
 last = vehicle[lenght-1]
 
 while last = vehicle[0]:
  
  letter=vehicle[index]
  print letter
  index -= 1
 
 You are still confusing the index of a letter and
 the letter itself.
 
 In [1]: vehicle = 'car'
 
 In [2]: last = vehicle[-1]
 
 In [3]: last
 Out[3]: 'r'
 
 last is a letter, not a number.
 
 In [5]: vehicle[0]
 Out[5]: 'c'
 
 vehicle[0] is also a letter. So when you write
while last = vehicle[0]:
 you are comparing two characters, which is not
 really helpful in the 
 current context. What you really want to do is
 compare the index of the 
 current character with 0. Here is a working version
 in the same style:
 
 In [6]: index = len(vehicle)-1
 
 In [7]: while index = 0:
 ...: print vehicle[index]
 ...: index -= 1
 ...:
 ...:
 r
 a
 c
 
 The best way to reverse a string is with a slice and
 negative index:
 
 In [8]: vehicle[::-1]
 Out[8]: 'rac'
 
 but I'm going to have to leave explanation of that
 to another day or 
 another poster.
 
 Kent
 
 
 ___

Hello Guys,

Thank you very much all of you (in special: Kent,
John, and Adam), for the nice explanations about my
excercise. I am a newbie that is studying Python
programming by myself. I appreciated your attention.

See you on my next post :-)

Best,

Hoffmann

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Program for outputing the letter backward

2006-03-28 Thread Hoffmann
Hello:

I am trying to write a code (this is an exercose from
a book). The goal is to write a program that takes a
string  and outputs the letters backward, ine per
line.
Ok. I did a test first, by writing a code with
numbers:

a=0; b=10
while a=b:
   print b
   b -= 1

Here the output is:
10
9
8
7
6
5
4
3
2
1
0
That worked fine.
Now, back to my exercise. I tried to write a code that
takes the string 'car' as the input:

vehicle='car'
index = vehicle[-1]   #the last letter
index_zero = vehicle[0]   #the first letter

while index = index_zero:
   letter=vehicle[index]
   print letter
   index -= 1

The problem is that I get no output here. Could I hear
from you?

Thanks!
Hoffmann


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread John Fouhy
On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
 vehicle='car'
 index = vehicle[-1]   #the last letter
 index_zero = vehicle[0]   #the first letter

 while index = index_zero:
letter=vehicle[index]
print letter
index -= 1

 The problem is that I get no output here. Could I hear
 from you?

I can print the letters backwards like this:

vehicle = 'car'
print vehicle[2]
print vehicle[1]
print vehicle[0]

Output:

r
a
c

-

This is not very useful, though, because it will only work for strings
that are exactly three letters long.  Can you see how to write a loop
to produe this output?

Hint: the len() function will tell you how long a string is.

eg: if vehicle == 'car' then len(vehicle) == 3.

--
John.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread Hugo González Monteverde
Hoffmann wrote:

 while index = index_zero:
letter=vehicle[index]
print letter
index -= 1
 
 The problem is that I get no output here. Could I hear
 from you?

Hi, remember that the condition for the while has to be true. When does
index = index_zero stop being true???

Hope that gets you going,

Hugo

Ps: there are easier ways of doing this in Python, consider the for 
statement.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Program for outputing the letter backward

2006-03-28 Thread Johnston Jiaa
Hoffman,I am a newbie at python and programming in general so excuse me if I'm wrong. In your example, you hadwhile index = index_zero:which I believe to not be what you intended as you are essentially saying:while "last letter of vehicle" = "first letter of vehicle""e" is respectively "less than" "v", so that is why your code never executes. You probably mean for the index to actually be the index, not the last letter. "index -= 1" is illegal as the variable points to a string, which can not be subtracted from. Hope I was of help!Johnston Jiaa ([EMAIL PROTECTED])
		New Yahoo! Messenger with Voice. Call regular phones from your PC and save big.___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread Hoffmann
--- John Fouhy [EMAIL PROTECTED] wrote:

 On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
  vehicle='car'
  index = vehicle[-1]   #the last letter
  index_zero = vehicle[0]   #the first letter
 
  while index = index_zero:
 letter=vehicle[index]
 print letter
 index -= 1
 
  The problem is that I get no output here. Could I
 hear
  from you?
 
 I can print the letters backwards like this:
 
 vehicle = 'car'
 print vehicle[2]
 print vehicle[1]
 print vehicle[0]
 
 Output:
 
 r
 a
 c
 
 -
 
 This is not very useful, though, because it will
 only work for strings
 that are exactly three letters long.  Can you see
 how to write a loop
 to produe this output?
 
 Hint: the len() function will tell you how long a
 string is.
 
 eg: if vehicle == 'car' then len(vehicle) == 3.
 
 --
 John.
 ___

Hi John and the other colleagues from the Tutor,

I still didn't realized how to solve this exercise.
Regarding the for loop. I can do that for the
forward version of the program. See below:

name = 'car'

for char in name:
   print char

However, I still write a backward version (in order
to get 
r
a
c

Could you guys, please, continue talking to me? 

Thanks!
Hoffmann

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread Kent Johnson
Hoffmann wrote:
 Hello:
 
 I am trying to write a code (this is an exercose from
 a book). The goal is to write a program that takes a
 string  and outputs the letters backward, ine per
 line.
 Ok. I did a test first, by writing a code with
 numbers:
 
 a=0; b=10
 while a=b:
print b
b -= 1
 
 Here the output is:
 10
 9
 8
 7
 6
 5
 4
 3
 2
 1
 0
 That worked fine.
 Now, back to my exercise. I tried to write a code that
 takes the string 'car' as the input:
 
 vehicle='car'
 index = vehicle[-1]   #the last letter
 index_zero = vehicle[0]   #the first letter
 
 while index = index_zero:
letter=vehicle[index]
print letter
index -= 1

You are confusing the index of a letter - the number which represents 
its position in the word - with the letter itself. In your code, index 
and index_zero are actually letters, not indices. Try to rewrite the 
code so they are numbers.
 
 The problem is that I get no output here.

My guess is you got a TypeError on the line
   letter=vehicle[index]

decause index is a letter. It's important to give us accurate 
descriptions of what happens, and to show error messages and the 
tracebacks that come with them. This can be very helpful when you have a 
problem.

Kent

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread Hoffmann
--- Kent Johnson [EMAIL PROTECTED] wrote:

 Hoffmann wrote:
  Hello:
  
  I am trying to write a code (this is an exercose
 from
  a book). The goal is to write a program that takes
 a
  string  and outputs the letters backward, ine per
  line.
  Ok. I did a test first, by writing a code with
  numbers:
  
  a=0; b=10
  while a=b:
 print b
 b -= 1
  
  Here the output is:
  10
  9
  8
  7
  6
  5
  4
  3
  2
  1
  0
  That worked fine.
  Now, back to my exercise. I tried to write a code
 that
  takes the string 'car' as the input:
  
  vehicle='car'
  index = vehicle[-1]   #the last letter
  index_zero = vehicle[0]   #the first letter
  
  while index = index_zero:
 letter=vehicle[index]
 print letter
 index -= 1
 
 You are confusing the index of a letter - the number
 which represents 
 its position in the word - with the letter itself.
 In your code, index 
 and index_zero are actually letters, not indices.
 Try to rewrite the 
 code so they are numbers.
  
  The problem is that I get no output here.
 
 My guess is you got a TypeError on the line
letter=vehicle[index]
 
 decause index is a letter. It's important to give us
 accurate 
 descriptions of what happens, and to show error
 messages and the 
 tracebacks that come with them. This can be very
 helpful when you have a 
 problem.
 
 Kent
 
 ___

Hi Kent,

Sorry for not showing the traceback the first time.
Please, see it below:

Traceback (most recent call last):
  File stdin, line 2, in ?
TypeError: string indices must be integers

Any hint?

Thanks,
Hoffmann

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread Kent Johnson
Hoffmann wrote:
 --- Kent Johnson [EMAIL PROTECTED] wrote:
 
You are confusing the index of a letter - the number
which represents 
its position in the word - with the letter itself.
In your code, index 
and index_zero are actually letters, not indices.
Try to rewrite the 
code so they are numbers.
 
 Sorry for not showing the traceback the first time.
 Please, see it below:
 
 Traceback (most recent call last):
   File stdin, line 2, in ?
 TypeError: string indices must be integers
 
 Any hint?

Already gave the hint in the first part of my reply. The error message 
repeats it.

Kent

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread Hoffmann
--- John Fouhy [EMAIL PROTECTED] wrote:

 On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
  vehicle='car'
  index = vehicle[-1]   #the last letter
  index_zero = vehicle[0]   #the first letter
 
  while index = index_zero:
 letter=vehicle[index]
 print letter
 index -= 1
 
  The problem is that I get no output here. Could I
 hear
  from you?
 
 I can print the letters backwards like this:
 
 vehicle = 'car'
 print vehicle[2]
 print vehicle[1]
 print vehicle[0]
 
 Output:
 
 r
 a
 c
 
 -
 
 This is not very useful, though, because it will
 only work for strings
 that are exactly three letters long.  Can you see
 how to write a loop
 to produe this output?
 
 Hint: the len() function will tell you how long a
 string is.
 
 eg: if vehicle == 'car' then len(vehicle) == 3.
 
 --
 John.
 ___

Hi John,

I am still 'blind' here.

Please, see below what I did, and what I got:

 vehicle='car'
 index = 0
 lenght =len(vehicle)
 last = vehicle[lenght -1]
 while last = vehicle[0]:
... letter = vehicle[index]
... print letter
... last -= 1
...
c
Traceback (most recent call last):
  File stdin, line 4, in ?
TypeError: unsupported operand type(s) for -=: 'str'
and 'int'

As you can see, I am still a newbie...
Could anyone, please, guide me on this exercise?
Thanks!
Hoffmann

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread John Fouhy
On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
  vehicle='car'
  index = 0
  lenght =len(vehicle)
  last = vehicle[lenght -1]
  while last = vehicle[0]:
 ...  letter = vehicle[index]
 ...  print letter
 ...  last -= 1
 ...

What is vehicle[index] ?

What if I change index, say,

   index = index + 1

Now what is vehicle[index] ?

--
John.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Program for outputing the letter backward

2006-03-28 Thread Hoffmann
--- John Fouhy [EMAIL PROTECTED] wrote:

 On 29/03/06, Hoffmann [EMAIL PROTECTED] wrote:
   vehicle='car'
   index = 0
   lenght =len(vehicle)
   last = vehicle[lenght -1]
   while last = vehicle[0]:
  ...  letter = vehicle[index]
  ...  print letter
  ...  last -= 1
  ...
 
 What is vehicle[index] ?
 
 What if I change index, say,
 
index = index + 1
 
 Now what is vehicle[index] ?
 
 --
 John.
 ___

Hi John,

(1) vehicle[index] is: 'c'
(2) If index = index = 1, so vehicle[index] becomes:
'a'

I changed a bit more the code, but I am still in
trouble. please, take a look:

(1st. try):
 vehicle='car'
 index = vehicle[-1]#'r'
 lenght =len(vehicle)   # 3 leters
 last = vehicle[lenght -1]  # 
 while last = vehicle[0]:
... letter = vehicle[index]
... print letter
... last -= 1
...
Traceback (most recent call last):
  File stdin, line 2, in ?
TypeError: string indices must be integers

(2nd, try):
 vehicle='car'
 index = vehicle[-1]
 while vehicle[-1] = vehicle[0]:
... letter = vehicle[index]
... print letter
... index -= 1
...
Traceback (most recent call last):
  File stdin, line 2, in ?
TypeError: string indices must be integers

Such a 'hard' simple problem...

Hoffmann


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor