Generator

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Itech
User
Beiträge: 20
Registriert: Freitag 6. Juli 2018, 15:44

Hallo zusammen,

ich scheine einfach zu dumm gerade zu sein, um zu checken was ich falsch mache. Will eigentlich nur von Brutto in Netto umrechen, innerhalb eines Generators.
Fehlermeldung : unsupported operand type for /: 'str' and 'float'
Wer ist klüger als ich und kann mir helfen?

Code: Alles auswählen

import random


first = ("Kathrin", "Martina", "Stephan", "Phillip", "Felix", "Nicole", "Dominik", "Frank", "Christian", "Martina", "Katja", "Sebastian", "Kerstin", "Ralf", "Horst", "Franziska", "Birgit", "Rene", "Bernd", "Silke", "Max")
second = ("Eberhardt", "Mueller", "Jaeger", "Urner", "Baumgarten", "Klug", "Fassbinder", "Becker", "Dietrich", "Himmel", "Keller", "Lang", "Bieber", "Scholz", "Pfeiffer", "Winkel", "Werfel", "Schweizer", "Schwab")
discount = ("5", "0", "10", "15", "20", "25", "30", "35", "40", "45")
brutto = ("380", "260", "120", "50", "100","150","200","250","300","350","400","500","220","320","380",)

bruttoo = random.choice(brutto)
netto = bruttoo / float(1.19)
disccount = random.choice(discount)
firrst = random.choice(first)
seccond = random.choice(second)
name = (firrst + " " + seccond + " " + disccount + " " + bruttoo + " " + netto)

print(name)

Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

nun, du hast keine Zahlen in discount und brutto, sondern strings
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
__blackjack__
User
Beiträge: 13109
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Itech: Die Fehlermeldung ist doch eigentlich doch recht eindeutig: Man kann Zeichenketten nicht durch Zahlen teilen. Warum sind die Zahlen in den Tupeln überhaupt Zeichenketten und nicht wirklich Zahlen?

Das sollten auch keine Tupel sondern Listen sein.

`float()` mit einer Gleitkommazahl aufzurufen ist komplett sinnlos.

Und das was Du da mit den Namen machst, dafür sollte Dir der Computerführerschein entzogen werden. Einfach wahllos irgendeinen Buchstaben zu doppeln wegen Faulheit sich keine *richtigen* Namen ausdenken zu wollen, geht ja mal gar nicht.

Zeichenketten und Werte mit ``+`` (und `str()`) zusammenstoppeln ist eher BASIC als Python. In Python gibt es dafür Zeichenkettenformatierung mittels `format()`-Methode auf Zeichenketten, oder ab Python 3.6 auch f-Zeichenkettenliterale.

Edit: Der Betreff ist etwas irreführend, denn `generator` ist ein Datentyp in Python der mit Generatorfunktionen und -ausdrücken zusammenhängt — so etwas gibt es in dem Programm aber nicht.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Itech
User
Beiträge: 20
Registriert: Freitag 6. Juli 2018, 15:44

Danke für die Hilfe. So ist das halt, wenn man kein Programmierer ist.
Antworten