:D
En un archivo de texto.py tengo en su interior este simple código.
range(2, 5, 1)
No me lo ejecuta si en el terminal pongo: python texto.py. No hace nada, se queda en blanco. Tampoco con el netbeans 6.8 del openSUSE 11.3 (http://software.opensuse.org/113/es).
Si me funciona si lo abro python en el terminal y lo escribo directamente.
¿Qué es lo que ocurre?
;)
jejejeje supongo que quieres mostradlo. Así que, :rolleyes:
print range(2, 5, 1)
Resultado,
shellroot@alex-laptop:~/Escritorio$ python PoC.py
[2, 3, 4]
Que sería igual que,
shellroot@alex-laptop:~/Escritorio$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> range(2, 5, 1)
[2, 3, 4]
Pues si es así gracias. ;-)
Por cierto.
Debe aparecer entre 0 y 200 números pares.
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200]
Por poner un ejemplo arriba. Puse:
print range(0, 200, 2)
¿En cuanto al impar como se hace?
En caso de que no esté bien el par me avisas.
WTF!, a que te refieres con al impar como se hace?. 1,3,5,7...
Cuando haces un range del 0 al 200, todos los números debe ser impar al visualizarse.
for n in range(1,200,1):
if n % 2 != 0:
print n
Resultado,
shellroot@alex-laptop:~/Escritorio$ python PoC.py
1
3
5
7
9
[--SNIP--]
191
193
195
197
199
print range(1,200,2)
Lo hice así desde el principio.
print range(0, 201, 2)
Así si da par. El problema cuando es impar. Por cierto. Hay que poner 201 para que llegue a los 200. Si usas el 200 a secas al final te muestra el 199.
Para que se hagan una idea:
Citar
# Si el número es par.
if a % 2 == 0:
print 'El número es par.'
# Si el número es impar.
if a % 2 == 1:
print 'El número es impar.'
El problema es intentarlo hacer con range(0, 200, 2)o como sea que sea par y el otro ejemplo impar.
Cita de: Shell Root en 16 Octubre 2010, 06:47 AM
for n in range(1,200,1):
if n % 2 != 0:
print n
Resultado,
shellroot@alex-laptop:~/Escritorio$ python PoC.py
1
3
5
7
9
[--SNIP--]
191
193
195
197
199
Es este:
for n in range(1,200,1):
if n % 2 != 0:
print n
impar es este:
for n in range(1,200,1):
if n % 2 != 1:
print n
Pero como bien te lo dijo @Lord R.N.A.. Se puede hacer directamente con al rango. Así,
PAR,
>>> range(0,200,2)
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198]
IMPAR,
>>> range(1,200,2)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199]
Algo así hice, pero no se me ve en el archivo al cargarlo, debo ponerlo directamente en python en el Terminal.
for n in range(0, 201):
if n % 2 != 1:
print n
Ahora este te dice, números pares entre 0 y 200 en
orden inverso.
Me sale inverso pero negativo. No se si esto es válido.
Citar-200
-198
-196
-194
-192
-190
-188
-186
-184
-182
-180
-178
-176
-174
-172
-170
-168
-166
-164
-162
-160
-158
-156
-154
-152
-150
-148
-146
-144
-142
-140
-138
-136
-134
-132
-130
-128
-126
-124
-122
-120
-118
-116
-114
-112
-110
-108
-106
-104
-102
-100
-98
-96
-94
-92
-90
-88
-86
-84
-82
-80
-78
-76
-74
-72
-70
-68
-66
-64
-62
-60
-58
-56
-54
-52
-50
-48
-46
-44
-42
-40
-38
-36
-34
-32
-30
-28
-26
-24
-22
-20
-18
-16
-14
-12
-10
-8
-6
-4
-2
Cita de: Shell Root en 16 Octubre 2010, 08:20 AM
Pero como bien te lo dijo @Lord R.N.A.. Se puede hacer directamente con al rango. Así,
PAR,
>>> range(0,201,2)
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200]
IMPAR,
>>> range(1,201,2)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199]
Tienes que poner 201. Porque siempre te resta -1.
A parte de eso. ¿Cómo hacer en números pares pero inverso? Es decir, de 200 al 0. No al -200 al 0. Recuerda, que se apar también pero inverso.
>>> range(200, 0, -2)
[200, 198, 196, 194, 192, 190, 188, 186, 184, 182, 180, 178, 176, 174, 172, 170, 168, 166, 164, 162, 160, 158, 156, 154, 152, 150, 148, 146, 144, 142, 140, 138, 136, 134, 132, 130, 128, 126, 124, 122, 120, 118, 116, 114, 112, 110, 108, 106, 104, 102, 100, 98, 96, 94, 92, 90, 88, 86, 84, 82, 80, 78, 76, 74, 72, 70, 68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]
Al final se me escapó algo porque no me salía.
¿De esta manera que no me sale tampoco?
# Genera números pares del 0 al 200 inverso.
for n in range(200, 0):
if n % -2 != 1:
print n
Edito:
Ignora lo que acaba de decir arriba, el tuyo es más cómodo.
Muchas gracias.