Python - Ayuda con practica de python URGENTE

 
Vista:
sin imagen de perfil

Ayuda con practica de python URGENTE

Publicado por Lupus (9 intervenciones) el 06/12/2017 13:44:26
El objetivo de este ejercicio es realizar una función que encuentre una expresión que añade signos + (suma) o - (resta) entre los dígitos 123456789 de manera que la expresión evaluada valga 100.

Por ejemplo, 1 + 2 + 3 - 4 + 5 + 6 + 78 + 9 = 100 es una posible solución.

Escribir una función suma_100 sin argumentos que devuelve una lista de números enteros (positivos o negativos) que cumpla las siguientes condiciones:

La suma de todos sus elementos es 100.
El resultado de imprimir todos los números en valor absoluto, en el mismo orden y sin ningún espacio entre ellos es la cadena '123456789'.
La lista no corresponde a la solución de arriba. Es decir, el resultado no es [1,2,3,-4,5,6,78,9].
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda con practica de python URGENTE

Publicado por algoritmo (245 intervenciones) el 07/12/2017 09:04:29
Espero que te sirva. Saludos: :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# -*- coding: utf-8 -*-
 
 
signos = ['+', '-', '*']
cuenta = 0
soluciones = []
for uno in ['+', '-']:
  for dos in signos:
    for tres in signos:
      for cuatro in signos:
        for cinco in signos:
          for seis in signos:
            for siete in signos:
              for ocho in signos:
                for nueve in signos:
                  fila = [uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve]
                  solucion_txt = ''
                  signo = '+'
                  numero = ''
                  for t, item in enumerate(fila):
                    if item in '+-':
                        solucion_txt += '%s%s' % (item, t+1)
                    else:
                        solucion_txt += '%s' % (t+1)
 
                  cuenta += 1
                  print uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve, solucion_txt, eval(solucion_txt)
                  if eval(solucion_txt) == 100:
                    soluciones.append(solucion_txt)
 
print 'Soluciones'
for solucion in soluciones:
    print solucion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
Imágen de perfil de abzerox
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda con practica de python URGENTE

Publicado por abzerox (109 intervenciones) el 07/12/2017 23:38:44
Hola algoritmo, estaria bueno que si propones una solución por lo menos brindes una respuesta más completa donde comentes el procedimiento no solo pegues el código. Esto mejora a que el usuario que plantea el problema pueda aprender y no solo hacer copy/paste, ya que el fin del foro no es hacer la tarea de nadie si no brindar dentro de los conocimientos de cada uno la mejor ayuda posible para resolver un problema planteado, es decir, que el usuario tambien sea participe del proceso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar