RaphaelHAS
(usa Outra)
Enviado em 26/08/2016 - 20:35h
Lisandro escreveu:
Olá.
Seu código está me confundindo.
Vamos ver linha a linha:
#coding: utf-8
lista = list(range(2)) # aqui cria uma lista e gera dois valores para dentro dela. o resultado é lista=[0, 1]
for i in range(2): # aqui repete fazendo o i valer 0 no primeiro ciclo e 1 no segundo ciclo
lista[i] = raw_input("Type a number ") # agora usa o i como índice para substituir usando o input o valor dos elementos da lista. alista que era [0, 1] passa ser [valor de input1, valor de input2]
cont =0 # abre um contador zerado
for i in lista:
print(i) # imprime cada elemento da lista
for i in lista:
if(i < 0): # verifica se o elemento da lista é negativo
cont+=1 # se for incrementa o contador
print("Exists " + str(cont) + " negative numbers in this list") # imprime as informações
Bem o range vai preencher a lista com valores inteiros sequenciais positivos partindo de zero [0,1,2,3,4,...]
então os únicos valores negativos seriam os que tu entrares manualmente no input.
Outra coisa que não ficou bem clara para mim é se está usando python 2 ou 3, pois raw_input é do 2 , mas a sintaxe do print como função é do 3.
Dá pra dar um aboa refatorada no teu código, começando em colocar os 2 últimos for que são iguais em apenas 1
Talvez se tu disser onde quer chegar fique mais fácil de ajudar.
Abraço
Caro Lisandro,
Pensei que esse "lista = list(range(2))" me criaria uma lista de tamanho 2, e não que a lista seria preenchida por números sequenciais. Então vou tentar criar uma lista vazia para só depois ser preenchida pelo teclado. Estou utilizando o Python 3, e aprendendo agora, por isso meu código pode estar um pouco confuso.
Na verdade eu programo em c/c++, então estou tentando passar os programas básicos que possuo para python, simplesmente por treino. Irei tentar consertar esse algoritmo conforme suas dicas, entretanto, você teria alguma boa ideia para que esse algoritmo funcionasse?