What is wrong with my code?

apometron apometron.listas.cinco at gmail.com
Sun Oct 23 23:21:49 EDT 2011


Sorry to continue discussing my thread on this list, I already subbed on 
the Tutor list
but I need to reply and if possible, some ideas of why it dont works. 
Now it is another
thing, entirely. Rename1.py and Rename2.py works, but why Rename3.py 
dont works?

http://pastebin.com/dExFtTkp

Thanks by the gentle support.

[]s
Apometron

On 10/23/2011 8:56 PM, Dave Angel wrote:
> On 10/23/2011 06:03 AM, apometron wrote:
>> import os
>> nome = sys.argv[1]
>> final = nome
>> for i in nome:
>>     print i
>>     if nome[i] = "_":
>>         final[i] = " "
>> os.rename(nome, final)
>>
> What do you want to be wrong with it?  There are so many things, it'd 
> be fun to try to see who could come up with the most.
>
> 1) it's not a valid Fortran program.
> 2) it's missing a shebang line
>     if we assume it's for Windows, or that you run it with an explicit 
> bash line
> 3) if we pretend it's a python program, a few more
> 3a)  It has a syntax error calling the print() function.  (Python 3.2)
>       If we assume it's a python 2.x program
> 4) it uses sys, without importing it
> 5) it uses second argument without checking if the user typed such an 
> argument
> 6) it tries to change a character within a string, which is a 
> non-mutable type
> 7) It creates two more references to the same string sys.argv[1], then 
> tries to modify one of them, not realizing the others would change to.
> 8) it tries to subscript a string using a character.
> 9) it calls rename with two references to the same object.  So nothing 
> will ever actually happen, even if the other problems were fixed.
>
> Generally, you'll get the best answers here if you specify more of 
> your environment (python version, OS), show what you tried (pasted 
> from the command line), and the results you got (such as stack traces).
>
> HTH
>
> DaveA
>
>




More information about the Python-list mailing list