CAIOG94 Postado Abril 3, 2022 Compartilhar Postado Abril 3, 2022 N = int(input("Digite o valor de N:")) while N<6 or N%2==1 or N>32: print("O número {} digitado é inválido".format(N)) N = int(input("Digite o valor de N válido:")) i=1 j=1 while i < N+1: for j in range(1,N-i+1): print(" ", end="") for j in range(1, 2*i): if j==1 or j==2*i-1: print("**", end="") else: print(" ", end="") i = i + 1 j = j + 1 print() for i in range(N-1,0, -1): for j in range(1,N-i+1): print(" ", end="") for j in range(1, 2*i): if j==1 or j==2*i-1: print("**", end="") else: print(" ", end="") i = i + 1 j = j + 1 print() Obs: não posso usar a função range nesse exercicio. Quero tiralo, sem mudar o objetivo do exercício e diminuir a quantidade de números do losango, sendo N=6 ,5 linhas, N=10, 9 linhas @geovaniif Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
geovaniif Postado Abril 5, 2022 Compartilhar Postado Abril 5, 2022 calma que logo eu te ajudo, só não tive tempo ainda. Vai pesando ai 🤣 Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
geovaniif Postado Abril 6, 2022 Compartilhar Postado Abril 6, 2022 oi! certo, usar o for com range ou usar um while com um contador vc chega no mesmo resultado, é bem facil não usar o range. A gente usa o range quando sabemos a quantidade de iterações que queremos ter, e geralmente usamos o while quando não sabemos, mas, da pra fazer um if dentro do while pra ele ser interrompido. ex: todas as forma abaixo contam até 10. Tenta mudar o seu for range pelo while com a condição. ###### usando range ##### for i in range(10): print(i) ##### usando while com condição ##### contador = 0 while contador < 10: print(contador) contador += 1 #### usando while com break ####### x = 0 while True: if x >= 10: break print(x) x = x + 1 #### usando recursividade ##### def funcao_conta_10(numero): if numero >= 10: return print(numero) funcao_conta_10(numero+1) funcao_conta_10(0) Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
geovaniif Postado Abril 6, 2022 Compartilhar Postado Abril 6, 2022 sobre o numero de linhas no losango, basta alterar a iteração de numero de linhas while i < N+1: ### <- essa iteração é do numero de linhas for j in range(1,N-i+1): ## <- essa é do numero de espaços print(" ", end="") for j in range(1, 2*i): # <- essa é pra descobrir onde colocar os * if j==1 or j==2*i-1: print("**", end="") else: print(" ", end="") i = i + 1 j = j + 1 print() # <- esse print sever pra gerar uma linha nova # logo, podemos ver que ele vai até N+1. Quando N é 6, ele vai até 7. Se vc quer mudar pra ir até 5, bastar fazer N-1 na iterção Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
Postagens Recomendadas
Crie uma conta ou entre para comentar 😀
Você precisa ser um membro para deixar um comentário.
Crie a sua conta
Participe da nossa comunidade, crie sua conta.
Criar minha conta agoraÉ bem rápido!
Entrar
Você já tem uma conta?
Entrar agoraFaça o login agora.