ayuda con codigo
Publicado por elmaschingon1369 (1 intervención) el 06/07/2023 04:14:58
hola mi hicieron hacer esto en clases:
2. Crea un programa que permita almacenar en una lista solamente números primos y que no se encuentren repetidos.
El programa debe cumplir con lo siguiente:
1. Agregar elemento a la lista
2. Mostrar lista
3. Mostrar el mayor y menor elemento de la lista
4. Mostar la suma de todos los elementos de la lista
5. Mostrar Pares e impares de la lista
6. Buscar y eliminar un elemento de la lista
7. Ordenar de menor a mayor
8. Ordenar de mayor a menor
9. Salir
Este seria el codigo que hice:
def primos(Numero) :
Es_Primo=True
if Numero == 1 :
Es_Primo=False
else :
for x in range(2, Numero-1):
if Numero % x == 0:
Es_Primo=False
break
return Es_Primo
def OrdenarNumero_menor_mayor(lista) :
lista_ordenada= sorted(lista)
return lista_ordenada
def OrdenarNumero_mayor_menor(lista) :
lista_ordenada= sorted(lista, reverse= True)
return lista_ordenada
#sorted: ordenar listas de acuerdo a lo que pide
lista = []
while True: #menu de opciones
print(" ---------------------------------------")
print("1. Agregar elemento a la lista")
print("2. Mostrar lista")
print("3. Mostrar el mayor y menor elemento de la lista ")
print("4. Mostrar la suma de todos los elementos de la lista")
print("5. Mostrar numeros pares e impares de la lista")
print("6. Buscar y eliminar un elemento de la lista")
print("7. Ordenar de menor a mayor")
print("8. Ordenar de mayor a menor")
print("9. Salir del programa")
print(" ---------------------------------------")
opcion = int(input("ingrese una opción: "))
#agregar elemento a la lista
if opcion == 1:
agregar = int(input("Ingrese un número: "))
if primos(agregar):
print(f"{agregar} es un número primo")
elif agregar not in lista:
lista.append(agregar)
print(f"{agregar} no es un número primo")
else:
print("El número ingresado ya está en la lista o no es primo")
#----------------------------------------------
#Mostrar lista
elif opcion == 2:
print(lista)
#Mostrar el mayor y menor elemento de la lista
elif opcion == 3:
mayor = max(lista)
menor = min(lista)
print("El mayor número de la lista es:", mayor)
print("El menor número de la lista es:", menor)
#Mostrar la suma de todos los elementos
elif opcion == 4:
suma = sum(lista)
print(suma)
#Mostrar numeros impares e pares del la lista
#---------------------------------------------------------
elif opcion == 5:
pares = [num for num in lista if num % 2 == 0]
print("Números pares:", pares)
#---------------------------------------------------------
impares = [num for num in lista if num % 2 != 0]
print("Números impares:", impares)
#Buscar y eliminar elementos de la lista
elif opcion == 6:
agregar = input("Ingrese el número a buscar y eliminar: ")
if agregar in lista:
lista.remove(agregar)
print("Número eliminado correctamente.")
else:
print("El elemento no se encuentra en la lista.")
#Ordenar de menor a mayor
elif opcion == 7:
if len(lista) == 0:
print("No hay ningún número en la lista.")
else:
lista_ordenada = OrdenarNumero_menor_mayor(lista)
print("La lista de menor a mayor es:", lista_ordenada)
#Ordenar de mayor a menor
elif opcion == 8:
if len(lista) == 0:
print("No hay ningún número en la lista.")
else:
lista_ordenada2 = OrdenarNumero_mayor_menor(lista)
print("La lista de mayor a menor es:", lista_ordenada2)
elif opcion == 9:
print ("Programa finalizado")
break
else:
print("Opcion inválida. Por favor intente de nuevo")
Pero el problema es que almacena los numeros que no son primos en vez de almacenar los numeros primos
me podrian ayudar
2. Crea un programa que permita almacenar en una lista solamente números primos y que no se encuentren repetidos.
El programa debe cumplir con lo siguiente:
1. Agregar elemento a la lista
2. Mostrar lista
3. Mostrar el mayor y menor elemento de la lista
4. Mostar la suma de todos los elementos de la lista
5. Mostrar Pares e impares de la lista
6. Buscar y eliminar un elemento de la lista
7. Ordenar de menor a mayor
8. Ordenar de mayor a menor
9. Salir
Este seria el codigo que hice:
def primos(Numero) :
Es_Primo=True
if Numero == 1 :
Es_Primo=False
else :
for x in range(2, Numero-1):
if Numero % x == 0:
Es_Primo=False
break
return Es_Primo
def OrdenarNumero_menor_mayor(lista) :
lista_ordenada= sorted(lista)
return lista_ordenada
def OrdenarNumero_mayor_menor(lista) :
lista_ordenada= sorted(lista, reverse= True)
return lista_ordenada
#sorted: ordenar listas de acuerdo a lo que pide
lista = []
while True: #menu de opciones
print(" ---------------------------------------")
print("1. Agregar elemento a la lista")
print("2. Mostrar lista")
print("3. Mostrar el mayor y menor elemento de la lista ")
print("4. Mostrar la suma de todos los elementos de la lista")
print("5. Mostrar numeros pares e impares de la lista")
print("6. Buscar y eliminar un elemento de la lista")
print("7. Ordenar de menor a mayor")
print("8. Ordenar de mayor a menor")
print("9. Salir del programa")
print(" ---------------------------------------")
opcion = int(input("ingrese una opción: "))
#agregar elemento a la lista
if opcion == 1:
agregar = int(input("Ingrese un número: "))
if primos(agregar):
print(f"{agregar} es un número primo")
elif agregar not in lista:
lista.append(agregar)
print(f"{agregar} no es un número primo")
else:
print("El número ingresado ya está en la lista o no es primo")
#----------------------------------------------
#Mostrar lista
elif opcion == 2:
print(lista)
#Mostrar el mayor y menor elemento de la lista
elif opcion == 3:
mayor = max(lista)
menor = min(lista)
print("El mayor número de la lista es:", mayor)
print("El menor número de la lista es:", menor)
#Mostrar la suma de todos los elementos
elif opcion == 4:
suma = sum(lista)
print(suma)
#Mostrar numeros impares e pares del la lista
#---------------------------------------------------------
elif opcion == 5:
pares = [num for num in lista if num % 2 == 0]
print("Números pares:", pares)
#---------------------------------------------------------
impares = [num for num in lista if num % 2 != 0]
print("Números impares:", impares)
#Buscar y eliminar elementos de la lista
elif opcion == 6:
agregar = input("Ingrese el número a buscar y eliminar: ")
if agregar in lista:
lista.remove(agregar)
print("Número eliminado correctamente.")
else:
print("El elemento no se encuentra en la lista.")
#Ordenar de menor a mayor
elif opcion == 7:
if len(lista) == 0:
print("No hay ningún número en la lista.")
else:
lista_ordenada = OrdenarNumero_menor_mayor(lista)
print("La lista de menor a mayor es:", lista_ordenada)
#Ordenar de mayor a menor
elif opcion == 8:
if len(lista) == 0:
print("No hay ningún número en la lista.")
else:
lista_ordenada2 = OrdenarNumero_mayor_menor(lista)
print("La lista de mayor a menor es:", lista_ordenada2)
elif opcion == 9:
print ("Programa finalizado")
break
else:
print("Opcion inválida. Por favor intente de nuevo")
Pero el problema es que almacena los numeros que no son primos en vez de almacenar los numeros primos
me podrian ayudar
Valora esta pregunta


0