Tutoriales

Ejemplos de caracolillo for Python – nixCraft

H¿Cómo y cuándo utilizo bucles for en el lengua de programación Python? ¿Cómo puedo usar las declaraciones break y continue para alterar el flujo de un caracolillo de Python?

Detalles del tutorial
DificultadViable (rss)
Privilegios de rootNo
RequisitosPitón
Hora10m

Un caracolillo for es una comunicación de Python que repite un orden de declaraciones un número específico de veces. Puede usar cualquier objeto (como cadenas, matrices, listas, tuplas, dict, etc.) en un caracolillo for en Python. Esta página explica los conceptos básicos del caracolillo for de Python al incluir declaraciones break y continue.



Python para sintaxis de caracolillo

La sintaxis básica es:

for var in list:
   statement-1 
   statement-2 
   statement-N

Dónde,

  1. var : var lee cada sujeto de la serie comenzando desde el primer sujeto.
  2. serie : list es una serie de Python, es opinar, una serie o una prisión.

Ejemplos y uso en Python

El ulterior ejemplo ilustra el uso de la instrucción for en Python. Cree un archivo llamado for-loop.py:

#!/usr/bin/python
#
# for-loop.py: Sample for loop to print welcome message 3 times
#
for i in '123':
        print("Welcome",i,"times")

Guarde y vallado el archivo. Ejecútelo de la ulterior forma:
$ chmod +x for-loop.py
$ ./for-loop.py

O
$ python for-loop.py
Esto es lo que vemos:

Welcome 1 times
Welcome 2 times
Welcome 3 times

El ejemplo precursor se puede escribir usando el caracolillo while de la ulterior forma:

#/usr/bin/python
i=1
while i <= 3:
	print("Hello World,",i," times.")
	i += 1

Futuro modificadas:

Hello World, 1  times.
Hello World, 2  times.
Hello World, 3  times.

Anopther Python 3 para un ejemplo de caracolillo que imprime los nombres comunes de las distribuciones de Linux:

#!/usr/bin/python3
distros = ["RHEL", "Fedora", "Debian", "Ubuntu", "Arch", "Alpine"]
 
for d in distros:
  print("Linux distro name: " + d)

Cuando se ejecute veremos:

Linux distro name: RHEL
Linux distro name: Fedora
Linux distro name: Debian
Linux distro name: Ubuntu
Linux distro name: Arch
Linux distro name: Alpine

Ejemplo de caracolillo for anidado

El ulterior código muestra el caracolillo for anidado clásico con Python:

#!/usr/bin/python
# Python 2.x version
# Nested for loop example
 
### Outer for loop ###
for x in xrange(1,5 ):
    ### Inner for loop	 ###
    for y in xrange(1, 5):
        print '%d ' % (x),
    print

Interpretación de Python 3.x:

#!/usr/bin/python3
# Nested for loop example
 
### Outer for loop ###
for x in range(1,5 ):
    ### Inner for loop	 ###
    for y in range(1, 5):
        print('%d ' % (x),  end = '')
    print("")

Figura 01: Python anidado para la salida del software de caracolillo

Iterando Python para caracolillo usando la función range ()

En puesto de usar una prisión emplazamiento ‘123’, intente range () para iterar sobre una secuencia de números:

#!/usr/bin/python
# Python for loop using range()
 
print("*** Generates a list of 3 values starting from 0 ***")
for i in range(3):
        print("Welcome",i,"times.")
 
print("*** Generates a list of 3 values starting from 1 ***")
for i in range(1,4):
        print("Welcome",i,"times.")

Sesión de muestra:

*** Generates a list of 3 values starting from 0 ***
Welcome 0 times.
Welcome 1 times.
Welcome 2 times.
*** Generates a list of 3 values starting from 1 ***
Welcome 1 times.
Welcome 2 times.
Welcome 3 times.

Se recomienda que utilice la función xrange () para guardar memoria en Python 2.x:

#!/usr/bin/python
# Only works with Python 2.x
# There no xrange() function in Python3
# Python for loop using range()
 
print "*** Generates a list of 3 values starting from 0 using xrange() ***"
for i in xrange(3):
        print "Welcome",i,"times."
 
print "*** range() vs xrange() ***"
print "range() creates a list containing numbers all at merienda."
print "xrange() creates a list containing numbers as needed."

Ejemplo de serie

El ulterior ejemplo ilustra el uso de la instrucción for usando una serie:

#!/usr/bin/python
# Sample for loop using a List
 
## define a list 
shuttles = ['columbia', 'endeavour', 'challenger', 'discovery', 'atlantis', 'enterprise', 'pathfinder' ]
 
## Read shuttles list and store the value of each element into s and display on screen
for s in shuttles:
        print(s)

Futuro:


columbia
endeavour
challenger
discovery
atlantis
enterprise
pathfinder

Para imprimir el índice y su valencia, intente enumerate (). Simplifica los métodos de caracolillo de uso popular. Proporciona a todas las colecciones iterables la misma preeminencia que iteritems () brinda a los diccionarios: una notación de índice compacta, descifrable y confiable:

#!/usr/bin/python
# A list of shuttles 
shuttles = ['columbia', 'endeavour', 'challenger', 'discovery', 'atlantis', 'enterprise', 'pathfinder' ]
 
## Read shuttles list and enumerate into index and value 
for index, value in enumerate(shuttles):
        print(index, value)

Ahora esto es lo que vemos:

0 columbia
1 endeavour
2 challenger
3 discovery
4 atlantis
5 enterprise
6 pathfinder

Ejemplo de tipo de datos de diccionario usando for loop

Los diccionarios están indexados por claves. Puede usar un par de esencia y valencia usando un caracolillo for de Python. El ulterior ejemplo ilustra este concepto:

#!/usr/bin/python
 
# define a dict data type for our dns server as geoLocation : DNS server name
dnsservers = {"us":"ns1.cyberciti.com", "uk":"ns2.cyberciti.biz", "asia":"ns3.cyberciti.org"  }
 
# Python for loop for key (location),value (nameserver) using dict data type
for location in dnsservers:
    print(dnsservers[location], "dns server is located in", location )

Futuro de muestra:

ns1.cyberciti.com dns server is located in us
ns2.cyberciti.biz dns server is located in uk
ns3.cyberciti.org dns server is located in asia

El ulterior ejemplo itera a través del tipo de datos del diccionario y solo muestra el resultado si la coincidencia se encuentra a través de Python raw_input / input ():

#!/usr/bin/python
## Dict data type
dnsservers = {"us":"ns1.cyberciti.com", "uk":"ns2.cyberciti.biz", "asia":"ns3.cyberciti.org"  }
 
## Is location found ? 
found = False 
 
## INPUT: Search for a geo location 
search_ns_location = input("Provide geo location ")
#print(search_ns_location)
#exit(0)
 
for location in dnsservers:    
    if location == search_ns_location:
        print(dnsservers[location], "dns server is located in", search_ns_location)
        found = True
 
## Display an error 
if found == False :
	print(search_ns_location ,"not a valid geo location.")

Sesión:

Provide geo location asia
ns3.cyberciti.org dns server is located in asia

Provide geo location nyc nyc not a valid geo location.

Bucles infinitos

Se puede crear un caracolillo for infinito con mientras que es cierto: sintaxis:

#!/usr/bin/python
# Use while loop as follows to run from 1 (i=1) to infinity
# The following will run infinity times 
i=1
while True:
	print("Welcome", i, "times. To stop press [CTRL+C]")
	i += 1

Puede juntar retraso usando sleep () de la ulterior forma

#!/usr/bin/python
#!/usr/bin/python
# Use while loop as follows to run from 1 (i=1) to infinity
# The following will run infinity times 
import time
i=1
while True:
    print("Welcome", i, "times. To stop press [CTRL+C]")
    i += 1
    # Delay for 2 seconds
    time.sleep(2)

Figura 02: Salida de software de caracolillo infinito para

Salida condicional con alivio

Puede hacer una salida anticipada con una comunicación de interrupción en el interior del ciclo for. La sintaxis es:

for condition:
    if condition is true:
        break

Ejemplo de salida anticipada:

#!/usr/bin/python
#!/usr/bin/python
# Use while loop as follows to run from 1 (i=1) to infinity
# The following will run infinity times 
import time
i=1
while True:
    print("Welcome", i, "times. To stop press [CTRL+C]")
    i += 1
    #### Delay for 2 seconds ####
    time.sleep(2)
    #### Die (early exit) if i is 5 ####
    if i == 5:
        print("Early exit detected...terminating infinity")
        break

Sesión de muestra:

Welcome 1 times. To stop press [CTRL+C]
Welcome 2 times. To stop press [CTRL+C]
Welcome 3 times. To stop press [CTRL+C]
Welcome 4 times. To stop press [CTRL+C]
Early exit detected...terminating infinity

Seguir comunicación

La instrucción continue permite que el código salga de la iteración flagrante. No terminaré su ciclo for de Python. En otras palabras, podemos usar la instrucción continue para silenciar la iteración flagrante cuando se cumple una condición particular:

#/usr/bin/python3 
distros = ["RHEL", "Fedora", "Debian", "Ubuntu", "Arch", "Alpine"]
 
# skip for loop when distro name (d) is equal to Debian  #
for d in distros:
    if d == "Debian":
        continue
    print("Linux distro name: " + d)

demás comunicación

El else se usa cuando desea hacer poco cuando todos los iterables están agotados. Esta es una cláusula opcional. Por ejemplo:

#!/usr/bin/python3
for os in ["macOS", "Linux", "Windows10", "FreeBSD", "Unix"]:
    print("OS: ", os)
else:
  print('OS loop list completed. Bye!')

Resumiendo

Aprendió sobre Python para la sintaxis de caracolillo y varios ejemplos. Ahora puede ejecutar regularmente un liga de código un número fijo de veces usando el caracolillo for. Consulte la documentación de Python para obtener más información.



LEER  Este kit de herramientas está destinado a ayudar a los expertos forenses a realizar adquisiciones.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba