GEDIT sin dudaa!!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Jirp96 en 6 Enero 2012, 14:55 PM
Hola!
Creo que el problema es por como abres el archivo y escribes a la vez, por lo que la variable "que lo contiene"(en tu caso, txt) no tiene nada en su interior.
txt=open(logfile, "w").write(datetime.datetime.now().ctime())
Mira esto....
>>> x = open("lala", "w").write("hola")
>>> x
>>> x.write("alal")
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
x.write("alal")
AttributeError: 'NoneType' object has no attribute 'write'
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'x']
>>> print x
None
Creo que si lo dejas asi deberia bastar.import datetime
Y=(input('Escribe alguna cosa'))
txt=open(logfile, "w")
txt.write(datetime.datetime.now().ctime())
txt.write(Y)
Por cierto, logfile es una variable que contiene el nombre del archivo a abrir, o es una cadena?(si es asi, faltan las comillas?)
Saludos!
Cita de: Trenico en 4 Enero 2012, 23:25 PM
Cambia el:logfile.write(Y)
Por:txt.write(Y)
#!/usr/bin/env python
# -*- coding: latin-1 -*-
import calcule
i = True
while i:
usernumber = int(input('Introduce un número >>'))
if usernumber <= 0:
print ('Debe ser un numero más grande o igual a 1')
elif usernumber > 65535:
print ('Debe ser un numero mas pequeño que 65536')
else:
print (calcule.func(usernumber))
#!/usr/bin/env python
# -*- coding: latin-1 -*-
def func(usernumber):
r=[]
re=[]
i=True
while i:
vr= int(usernumber // 16.)
vre=(usernumber-(vr*16))
usernumber=vr
r.append(vr)
re.append(vre)
if vr >= 16:
vr=0
vre=0
else:
i= False
last = len(r)
k = re[0]
re.reverse()
x=re[0]
f = len(re)
y=0
while y <= f-1:
if re[y]==10:
re[y]='A'
elif re[y]==11:
re[y]='B'
elif re[y]==12:
re[y]='C'
elif re[y]==13:
re[y]='D'
elif re[y]==14:
re[y]='E'
elif re[y]==15:
re[y]='F'
y = y + 1
last = len(r)
if last ==1:
last = 0
if r[last] ==10:
r[last]='A'
elif r[last] ==11:
r[last]='B'
elif r[last] ==12:
r[last]='C'
elif r[last] ==13:
r[last]='D'
elif r[last] ==14:
r[last]='E'
elif r[last] ==15:
r[last]='F'
else:
last = last -1
if r[last] ==10:
r[last]='A'
elif r[last] ==11:
r[last]='B'
elif r[last] ==12:
r[last]='C'
elif r[last] ==13:
r[last]='D'
elif r[last] ==14:
r[last]='E'
elif r[last] ==15:
r[last]='F'
string = ''
e = 0
while e < f:
string = string + str(re[e])
e = e + 1
last= last-1
result = (str(r[last])+(string))
return result
Cita de: R0LFback en 10 Agosto 2011, 16:31 PM
Particularmente ese ejemplo devuelve 49 (Eso es porque en python la división entre dos enteros da como resultado un entero).
Para devolver ese resultado tendrías que haber hecho algo así:789 / 16.
Con el punto al final del 16 le estas indicando que el número es de tipo float.
Edit:
Otra forma para hacer lo que pedís, podría ser así:int(789 // 16.)
Con // haces una división entera y con int() convertís el resultado a entero.
Un saludo.