Imprime I ate que "i" < "n"

153 views
Skip to first unread message

Marcos Aurelio Hey

unread,
Oct 13, 2020, 9:57:22 PM10/13/20
to PyTche
Para o trecho de código abaixo analise e responda: quantas vezes os comandos
representados aqui por "iteração" serão executados?
Como o valor de "n" não está definido, ao ser executado vai apresentar erro.
Considerando que "n" é uma variável que armazena um valor inteiro positivo e assinale a alternativa correta.

 i = 1 
while i < n: 
    "iteração" 
    i = i + 1

A) n
B) 2 * n
C) n - 1
D) n + 1

Código adaptado para executar. Fiz rodar no PyCharm
i = 1
n = 10
while i < n:
    #"iteração"
    print(f'valor de I. . : {i}', end='        ')
    print(f'Valor de n. . : {n}')
    n = n - 1
    i += 1  

Na opção B e D, o programa fica em LOOP.
Para opção C, I vai imprimir até que i < n. Então a resposta certa é C. De acordo???

Para os valores i = 1 e n = 10, segue abaixo o print da tela

valor de I. . : 1       Valor de n. . : 10
valor de I. . : 2       Valor de n. . : 9
valor de I. . : 3       Valor de n. . : 8
valor de I. . : 4       Valor de n. . : 7
valor de I. . : 5       Valor de n. . : 6

Process finished with exit code 0

Obrigado 
Marcos

Julio Biason

unread,
Oct 14, 2020, 10:49:39 AM10/14/20
to pyt...@googlegroups.com
Oi Marcus,

O problema é mais bem mais simples do que tu pensa.

Imagine o seguinte:

Se "n" estiver definido para 10, quantas vezes "iteração" vai aparecer? E se estiver definido em 20? 5? Olhando o número de vezes que o texto aparece, tu consegue descobrir a relação com o valor de "n".

Outra coisa: No código adaptado, ao mesmo tempo que tu tá incrementando "i", tu tá decrementando "n". Não é isso que o enunciado mostra, e tu vai acabar fazendo apenas a metade do que deveria ser feito (que já fica de dica pra resposta acima).

--
Você recebeu essa mensagem porque está inscrito no grupo "PyTche" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para pytche+un...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/pytche/b1aedb31-ed96-4cef-b3ba-c9cf69033d25n%40googlegroups.com.


--
Julio Biason <julio....@gmail.com>

Marcos Aurelio Hey

unread,
Oct 14, 2020, 6:00:10 PM10/14/20
to PyTche
Boa tarde, J
O código que do problema é:  

i = 1
while i < n:
     "iteração"
      i = i + 1

A) 2 * n 
B) n - 1
C) n 
D) n + 1   


Modifiquei o código para:

i = 1
n = 10
while i < n:
        #"iteração"
        print(f'valor de I. . : {i}', end=' ')
        print(f'Valor de n. . : {n}')
        n = n - 1 -----------------------------------------------------------> OPÇÃO B
        i += 1
   
Pelos valores que você surgiu para n:   
i valendo 10 vai até 5;
i valendo 20 vai até 10;
i valendo 5 vai até 2.


Alterando o código para: 

i = 1
n = 10 -------------------------------------------------------------> OPÇÃO C
while i < n:
       print(f'iteração. . .{i}')
       i += 1

Então vai a palavra "iteração" até que o valor de i seja menor que n, ou seja vai imprimir até 9.

Obrigado pela ajuda e correção

Marcos  

Marcos Aurelio Hey

unread,
Oct 15, 2020, 7:39:52 AM10/15/20
to PyTche
Bom dia

Tudo certo o com problema aqui relatado. A resposta da questão certa foi C (n - 1). 

Marcos
Reply all
Reply to author
Forward
0 new messages