[Notas de estudo do Python] 10 resumo mais completo das declarações de controle

Esta série de notas para aprender Python por conta própria, se houver erros, corrija-me

Selecione o resultado

A estrutura de seleção determina qual ramificação executar ao julgar se a condição é verdadeira. Existem muitas formas de estrutura de seleção, divididas em: ramificação única, ramificação dupla e ramificações múltiplas. O fluxograma é o seguinte:

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo de link anti-leech. É recomendado salvar a imagem e carregá-la diretamente (img-9jFYUifK-1610702861337) (. \ Images \ image-20210115152646962.png)]

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo de link anti-leech. É recomendável salvar a imagem e carregá-la diretamente (img-RcXKw5zK-1610702861353) (. \ Images \ image-20210115152744007.png)]

Estrutura de seleção de filial única

A forma gramatical do resultado de um único ramo da instrução if é a seguinte:

se expressão condicional:

Declaração / Bloco

entre eles:

  1. Expressões condicionais: podem ser expressões lógicas, expressões relacionais, expressões aritméticas, etc.
  2. Instrução / bloco de instrução: pode ser uma instrução ou várias instruções. Várias declarações, o recuo deve estar alinhado
num = input('请输入一个数字:')
if int(num)<10:
    print(num)

Explicação detalhada das expressões condicionais

Na estrutura de seleção e loop, o valor da expressão condicional é False, conforme a seguir:

Falso 0 0,0 Valor nulo Nenhum, objeto de sequência vazio (lista vazia, conjunto vazio, dicionário vazio, string vazia), objeto de intervalo vazio, objeto de iteração vazio

Todos os outros casos são verdadeiros.

if 3: #整数作为条件表达式
    print('ok')    
    
a = [] #列表作为表达式 空列表为False
if a:
    print('空列表 False')    
    
s = 'False' #非空字符串
if s:
    print('非空字符串')    
    
c = 9
if 3<c and c<20:
    print("3<c and c<20")


if True: #布尔值
    print("True")  

Expressões condicionais não podem ter operadores de atribuição =

Estrutura de seleção de ramo duplo

se expressão condicional:

Bloco de declaração / declaração

outro:

Declaração

num = input('请输入一个数字')
if int(num)<10:
    print(num)
else:
    print('数字太大')    

Operador ternário condicional

Python fornece um operador ternário, usado em algumas situações simples de atribuição de ramificação dupla, a sintaxe do operador condicional ternário:

O valor se a condição for verdadeira if (expressão condicional) senão o valor quando a condição for falsa

num = input('请输入一个数字')
print(num if int(num)<10 else '数字太大')  

Estrutura de seleção de vários ramos

se a expressão condicional 1:

Declaração / Bloco

elif expressão condicional 2:

Declaração / Bloco

outro:

Declaração / Bloco

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo de link anti-leech. Recomenda-se salvar a imagem e carregá-la diretamente (img-zI3Enszj-1610702861355) (. \ Images \ image-20210115160316557.png)]

score = int(input('请输入分数'))
grade = ''
if score<60:
    grade = '不及格'
elif score>=60 and score<70:
    grade='及格'
elif score>=70 and score<80:
    grade = '良好'   
else:
    grade = '优秀'    
print('分数是{0},等级是{1}'.format(score,grade))   

Selecione o aninhamento da estrutura

A estrutura de seleção pode ser aninhada, ao utilizá-la deve-se atentar para o controle do recuo dos diferentes níveis dos blocos de código, pois o recuo determina a subordinação do código.

se expressão 1:

Bloco de declaração 1

Se a expressão 2:

Bloco de declaração 2:

Mais:

Bloco de declaração

outro:

Bloco de declaração

Estrutura de loop

A estrutura de loop usa a execução repetida de uma ou mais instruções. Lógica de expressão: se as condições forem atendidas, as instruções no corpo do loop serão executadas repetidamente. Após cada execução, ele julgará se a condição é Verdadeira e, se for Verdadeira, o loop se repetirá.

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo de link anti-leech. Recomenda-se salvar a imagem e carregá-la diretamente (img-IIricoFW-1610702861357) (. \ Images \ image-20210115161743080.png)]

As instruções no corpo do loop devem conter pelo menos instruções que alterem a expressão condicional, de forma que o loop tenda a terminar, caso contrário, ele se tornará um loop sem fim.

loop while

while 判断条件(condition):
 执行语句(statements)……
n = 100
 
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
 
print("1 到 %d 之和为: %d" % (n,sum))

Loop infinito

Podemos alcançar um loop infinito definindo a expressão condicional para nunca ser falsa

var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)
 
print ("Good bye!")

Você pode usar CTRL + C para sair do loop infinito atual.

O loop infinito é muito útil para solicitações de clientes em tempo real no servidor.

for loop e travessia de objetos iteráveis

O loop for geralmente é usado para percorrer um objeto iterável. O formato da sintaxe do loop for é o seguinte:

para variável em objeto iterável:

Declaração do corpo do laço

Objeto iterável

  1. Sequência: o ancestral de uma lista de strings
  2. dicionário
  3. Alinhamento do iterador
  4. Objeto gerador
for x in list('slp'):
    print(x)
    
d = {
    
    'name':'slp','age':18,'address':'bj'}
for x in d: #遍历所有的key
    print(x)
    
for x in d.keys():#遍历字典所有的key
    print(x)
    
for x in d.values():#遍历字典所有的value
    print(x)
        
for x in d.items():#遍历字典所有的键值对
    print(x)    
    

objeto de alcance

O objeto de intervalo é um objeto iterador, usado para gerar um intervalo especificado de números, o formato é: intervalo (início, fim [, etapa])

    
sum_all=0
sum_even=0
sum_odd=0
for num in range(101):
    sum_all +=num
    if num%2 ==0:
        sum_even+=num
    else:
        sum_odd+=num
        
print(sum_all,sum_even,sum_odd)    

Loop aninhado

Um loop pode ser incorporado em outro loop, geralmente chamado de loop aninhado ou múltiplos loops

por exemplo: imprimir 99 tabuada de multiplicação:

for m in range(1,10):
    for n in range(1,m+1):
        print(m,'*',n,'=',m*n ,end='\t')
    print('')
    

declaração de quebra

A instrução break pode ser usada em loops while e for para encerrar o loop inteiro. Quando há aninhamento, a instrução break só pode pular do loop mais próximo

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo de link anti-leech. É recomendado salvar a imagem e carregá-la diretamente (img-nB6cRFES-1610702861364) (. \ Images \ E5A591EF-6515-4BCB-AEAA- A97ABEFC5D7D.jpg)]

while True:
    a = input('输入Q退出')
    if a.upper() == 'Q':
        print('退出')
        break
    else:
        print('继续')

continuar declaração

continue é usado para terminar este loop e continuar na próxima vez. O aninhamento também é aplicado e o loop mais recente.

[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo de link anti-leech. É recomendado salvar a imagem e carregá-la diretamente (img-aqfENPtv-1610702861366) (. \ Images \ 8962A4F1-B78C-4877-B328- 903366EA1470.jpg)]

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')
empNum = 0
salarySum = 0;
salarys = []       
while True:
    s = input('请输入员工的工资(q或Q结束)')
    if s.upper() =='Q':
        print('录入完成 退出')
        break;
    if float(s)<0:
        continue;
    empNum+=1
    salarys.append(float(s))
    salarySum +=float(s)
    
print('员工数{0}'.format(empNum))
print('录入薪资',salarys)
print('平均薪资{0}'.format(salarySum/empNum))

declaração de aprovação

Python pass é uma instrução vazia para manter a integridade da estrutura do programa.

passar não faz nada, geralmente é usado como uma declaração de espaço reservado,

Otimização de código de loop

  1. Minimize cálculos desnecessários dentro do loop
  2. No loop aninhado, tente reduzir a contagem do loop interno e levante-o o máximo possível
  3. A consulta de variável local é mais rápida, tente usar variáveis ​​locais

Outros métodos de otimização

  1. Concatene várias strings, use join em vez de +
  2. Insira e exclua elementos da lista, tente operar no final

Use zip () para iterar em paralelo

Podemos usar a função zip () para iterar várias sequências em paralelo, e a função zip () irá parar quando a sequência mais curta for usada

names = ('a','b','c')
ages =(16,10)
jobs = ('teacher','programmer','drive')
for name,age,job in zip(names,ages,jobs):
    print("{0}--{1}--{2}".format(name,age,job))

Pesquise [Zixin] no WeChat ou digitalize o código QR abaixo para fazer amigos e progredir juntos. O artigo é atualizado continuamente. No momento, estou organizando as notas de estudo das centenas de batalhas do Python e espero mais atualizações no futuro.

Acho que você gosta

Origin blog.csdn.net/weixin_51656605/article/details/112680115
Recomendado
Clasificación