tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1296
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Avatar von Raubkopierer
    Raubkopierer Raubkopierer ist offline Mitglied Diamant
    Registriert seit
    Feb 2007
    Ort
    Saultitz (Sachsen)
    Beiträge
    1.700
    Blog-Einträge
    7
    Ich bin doch nicht etwa der Erste?

    Anyway hier das kleine Skript:

    Code python:
    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
    34
    35
    36
    37
    
    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
     
    import sys
     
    if len(sys.argv) != 2:
        sys.exit("Usage: osternest.py inputfile")
    input = open(sys.argv[1],"r")
    lines = input.readlines()
    max = int(lines.pop(0))
    keys,values=[],[]
    for integer in range(len(lines)):
        string = lines[integer].strip("\n ")
        if integer%2:
            values.append(string)
        else:
            keys.append(string)
    stuff = dict(map(lambda x,y: (x,y),keys,values))
    ratio = []
    for key in stuff:
        stuff[key] = stuff[key].split(" ") # trennen von Masse und Nährwert
        ratio.append((key,float(stuff[key][1])/float(stuff[key][0]))) # Verhältnis Nährwert pro Gramm
    ratio.sort(cmp=lambda x,y: cmp(x[1],y[1]),reverse=True) # Absteigend nach hohem Nährwertverhältnis
    mass,kcal,items = 0,0,[]
    for key in ratio:
        if mass+int(stuff[key[0]][0]) < max:
            mass+=int(stuff[key[0]][0])
            kcal+=int(stuff[key[0]][1])
            items.append(key[0])
        else:
            continue
    output="Optimale Auswahl: "
    for item in items:
        output+=item+", "
    print output[:-2]
    print "Masse:",str(mass),"g"
    print "Nährwert:",str(kcal),"kcal"
     
    Albert Einstein sagte einmal:
    Es gibt 2 Dinge die unendlich sind: Das Universum und die Dummheit der Menschen. Beim Ersten bin ich mir allerdings nicht ganz sicher.

    Stoppt die Vorratsdatenspeicherung!

  2. #2
    OnlyFoo OnlyFoo ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    470
    Zitat Zitat von Raubkopierer Beitrag anzeigen
    Ich bin doch nicht etwa der Erste?
    Nope aber Python-Lösunge liegen ganz vorne mit dabei
     

  3. #3
    Avatar von Raubkopierer
    Raubkopierer Raubkopierer ist offline Mitglied Diamant
    Registriert seit
    Feb 2007
    Ort
    Saultitz (Sachsen)
    Beiträge
    1.700
    Blog-Einträge
    7
    Zitat Zitat von OnlyFoo Beitrag anzeigen
    Nope aber Python-Lösunge liegen ganz vorne mit dabei
    Mh ... stimmt ... vom Timestamp des Posts Zweiter nach Enumerator. Aber das ganze ist ja sowieso davon abhängig wann man die Zeit findet sich mit einem Problem zu beschäftigen und sagt praktisch nichts aus
     
    Albert Einstein sagte einmal:
    Es gibt 2 Dinge die unendlich sind: Das Universum und die Dummheit der Menschen. Beim Ersten bin ich mir allerdings nicht ganz sicher.

    Stoppt die Vorratsdatenspeicherung!

Thema nicht erledigt

Ähnliche Themen

  1. [QUIZ#16] OnlyFoo (Python)
    Von OnlyFoo im Forum Archiv
    Antworten: 0
    Letzter Beitrag: 22.05.10, 17:23
  2. [Quiz#11] OnlyFoo (python)
    Von OnlyFoo im Forum Archiv
    Antworten: 2
    Letzter Beitrag: 25.10.09, 06:22
  3. [QUIZ#09] OnlyFoo (Python)
    Von OnlyFoo im Forum Archiv
    Antworten: 0
    Letzter Beitrag: 20.07.09, 12:34
  4. [QUIZ#1] OnlyFoo (Python)
    Von OnlyFoo im Forum Archiv
    Antworten: 2
    Letzter Beitrag: 22.09.08, 00:15
  5. [QUIZ#1] Raubkpierer (Python)
    Von Raubkopierer im Forum Archiv
    Antworten: 2
    Letzter Beitrag: 21.09.08, 21:46