[Tutorial básico de Python] Declaraciones de control de flujo de programa en Python


prefacio

Este blog hablará sobre las declaraciones de control de flujo en el lenguaje Python. En la escuela secundaria, aprendimos problemas de flujo de programas en matemáticas. Para lograr un objetivo, a menudo necesitamos ir paso a paso desde el principio, a veces en secuencia, a veces enfrentando opciones, a veces enfrentando bucles. Los bucles y las selecciones controlan todo el proceso. ¿Te resulta familiar la imagen de abajo? La estructura secuencial se ejecuta paso a paso desde la parte superior hasta el siguiente paso, por lo que no hablaremos de eso aquí. Es broma con declaraciones de ramificación en el lenguaje Python.

inserte la descripción de la imagen aquí


La declaración de la rama

En Python, la declaración de sucursal tiene solo if...elif...else...no switch...case..., el funcionario cree que if...else... ya puede satisfacer la demanda. La función de la declaración de rama es hacer un juicio y filtrar los datos que cumplen con una determinada situación, en otras palabras, diferentes situaciones hacen cosas diferentes.

# 单分支结构
if 80>70:
    print('无敌666')
# 多分支结构
s=int(input("请输入您的考试成绩:"))
if 100>=s>=90:
    print("你的成绩无敌了")
    if s>95:
        print('你的成绩至高无上')
    else:
        print('你的成绩一人之下万人之上')
elif 90>s>60:
    print('你的成绩仅仅是合格')
else:
    print('你的成绩不合格,或输入不规范')

# 条件表达式【类似于C++语言中的三目运算符】
print("我是对的" if 90>80 else "我是错的")

# 占位符与对象的布尔值
# 每个对象都有布尔值,所以对象可以直接放到条件语句中,作为判别条件
# python中也是只有0或空为bool中的false
# 占位符就是当你不知道那里写什么,但确实缺少语句处站住位置,编译器不报错 pass
ss=int(input("输入对象:"))
if ss:
    print('yes')
    pass
elif ss>1:
    print('no')
else:
    pass

En segundo lugar, la declaración de bucle

1. Objetos iterables

Antes de hablar sobre la declaración de bucle, hablemos de lo que es un objeto iterable.Un objeto iterable devuelve un elemento a la vez
, incluyendo principalmente secuencias, objetos de archivo, objetos iteradores y funciones generadoras. Un iterador es un objeto que representa
una colección iterable de datos.Sus características principales incluyen los métodos __iter__() y __next__(), que pueden implementar
funciones de iteración. Un generador es una función, que utiliza la declaración de rendimiento, que produce un valor a la vez. El objeto de rango es un objeto iterador.
La declaración de bucle en Python se divide en bucles while y for.

2. mientras bucle

while后面是循环条件,在下面的例子中i就是循环变量,当循环变量不满足循环条件时就退出循环
以下例子打印1-100的和

el código se muestra a continuación:

i=1
mysum=0
while i<=100:
   mysum+=i
   i+=1
#    print(mysum)
print(mysum)

3.para bucle

for循环的使用方法如下,一般结合迭代器对象使用。

el código se muestra a continuación:


# for循环计算100-999之间的水仙花数

for temp in range(100,1000):
   if temp==(temp%10)**3+(temp//10%10)**3+(temp//100)**3:
      print(temp)
# 迭代打印语句
for _ in range(5):
   print('Hello World')


# 利用else 实现密码输入错误三次报错,以及输入正确跳出循环

passward=0
for passward in range(3):
   if input('请输入您的密码:')!='888888':
      print('密码输入错误!')
      passward+=1
   else:
      print('密码正确!')
      break
else:
   print('密码多次输入错误,自动退出!')

4. Noventa y nueve tablas de multiplicar

# 综合案例,嵌套打印99乘法表
for teg in range(1,10):
   temp=1
   while temp<=teg:
      print(str(temp)+'*'+str(teg)+'='+str(teg*temp),end='  ')
      temp+=1
   print()

inserte la descripción de la imagen aquí

3. Declaración de control de bucle

1. descanso

Salta fuera de este bucle

2.continuar

saltar este ciclo

3.ir a

Esta declaración no está integrada, pero algunas bibliotecas de terceros contienen esta declaración,
como python-goto, y los socios interesados ​​pueden usarla.

4. más

Esto sigue siendo muy singular.La declaración de bucle de Python es compatible con la declaración else,
es decir, se puede agregar una declaración else después de la declaración de bucle. La condición para que se ejecute el código en el bloque de código else
es que el cuerpo del bucle no esté roto.
También tome la tabla de multiplicar nueve por nueve como ejemplo .

for teg in range(1,10):
   temp=1
   while temp<=teg:
      print(str(temp)+'*'+str(teg)+'='+str(teg*temp),end='  ')
      temp+=1
   print()
else:
    print("asdholcnnl")

Cuarto, funciones integradas relacionadas con bucles

1.enumerar()

La función de esta función es agregar un índice a la secuencia transitable, y el valor inicial del índice es algo que podemos especificar

s=["Tom","jack","lisa"]
for i,name in enumerate(s,start=1):
    print(f"第{
      
      i}个人是{
      
      name}")

inserte la descripción de la imagen aquí

2.zip()

Si necesita atravesar varios objetos en paralelo, puede usar esta función para empacar. La función de zip es empaquetar varios objetos iterables en tuplas y devolver un objeto iterable. Si cada iterable comprimido tiene diferentes longitudes, fusionarlos de acuerdo con la longitud más corta. Las tuplas también se pueden descomprimir en listas usando el operador *.
[*zip(x,y)] Empaquetar x, y y luego convertir a formato de lista
zip(*zip(x,y)), si x, y representan una matriz, entonces zip(*zip(x,y)) es transponer

for i,j in zip(range(0,10),range(0,10)):
    print(i*j)

inserte la descripción de la imagen aquí

3.mapa()

La función map puede pasar una función y múltiples listas iterables.Si la función pasada por map es None, entonces la función map es la misma que la función zip.
Si se pasan otras funciones, las funciones se aplicarán a cada objeto. Cabe señalar que la cantidad de objetos iterables debe ser consistente con la
cantidad de parámetros pasados ​​a la función.

#结果1,1,12
list(map(abs,[-1,-1,-12]))
#结果1 1 4
list(map(pow,range(3),range(3)))


Resumir

Este blog comparte principalmente la sentencia de rama y la sentencia de bucle en la sentencia de control de flujo. La sentencia de rama es relativamente simple de operar. Principalmente dominamos la sentencia de bucle, especialmente varias funciones integradas en la sentencia de bucle, ya sea escribiendo un problema de algoritmo oa se utilizan comúnmente en el análisis de datos.


inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/apple_51931783/article/details/123095598
Recomendado
Clasificación