Buenas:
Aquí si que Python me tumba.
Ver ejercicio. (http://www.subeimagenes.com/img/hex-c-6825.jpg)
Parece que aquí voy a tardar un tiempito con este ejercicio ya que parece o al menos me da la impresión que es código largo.
Realmente el código no es extenso. A mí se me ocurrió hacerlo de la siguiente manera:
sString = raw_input('Cadena: ') # Pedimos la cadena...
sString = sString.lower() # Convertimos a minusculas...
lListA = sString.split() # Creo la lista con todos los elementos de la cadena...
lListB = [] # Lista vacia
for i in lListA: # Recorro la lista original
if i not in lListB: # Si el elemento no esta en la otra lista...
lListB.append(i) #... lo agrego
print lListB
Gracias, me funciona.
Con C# lo he encontrado así:
static void Main(string[] args)
{
List<int> lista = new List<int>(9;
int ingresos = 0;
while(ingresos <= 9)
{
Console.WriteLine("Ingrese un numero positivo:");
string valor = Console.ReadLine();
int valint = 0;
if (!int.TryParse(valor, out valint))
{
Console.WriteLine("El valor ingresado no es numerico");
continue;
}
if(valint < 0)
{
Console.WriteLine("El valor ingresado debe ser positivo");
continue;
}
lista.Add(valint);
ingresos++;
}
//se muestra la lista de valores ingresados
Console.WriteLine("Numeros Ingresados:");
foreach (int item in lista)
{
Console.WriteLine(item);
}
}
Edito:
Otra forma de hacerlo.
# Declaro las listas
lista_1 = ["Una","frase","formada","con","palabras"]
lista_2 = ["Otra","frase","con","otras","palabras"]
resultado = []
# Convierto la palabra a minúsculas y la agrego a la lista
for palabra in lista_1:
palabra_min = palabra.lower()
resultado.append(palabra_min)
# Comparo ambas listas y luego convierto a mínusculas
for a in lista_2:
if a not in lista_1:
palabra_min = a.lower()
resultado.append(palabra_min)
print resultado
Aunque creo que usaría el método de .:WindHack:. por simplicidad, aquí tienes ooootra manera más de hacerlo sin usar una segunda lista, solo modificando la que hemos obtenido en principio.
frase = raw_input('Ingresa una frase: ')
lista = frase.lower().split(' ')
i = 0
while i<len(lista):
if lista[i] in lista[:i]:
lista.pop(i)
else:
i+=1
print lista
Saludos