Programmierneuling: Rechenspiel

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Leubi30
User
Beiträge: 2
Registriert: Donnerstag 16. Februar 2023, 20:45

Hallo zusammen, ich lerne seit ein paar Wochen mit Python3 und versuche mich mit dem einen oder anderen Projekt.
Aktuell möchte ich ein kleines Rechenspiel programmieren, bleibe aber am Operator hängen, da dieser in einer Variablen gespeichert wird.

Code: Alles auswählen

operator = str(input("mit welchen operator willst du rechnen?  + - * /"))

# Zahlen Generator
from random import *
x = randint(1, 10)
y = randint(1, 10)

calc = x, operator, y
print(calc)
math = str(input("="))
if math == (calc):
    print("RICHTIG")
else:
    print("FALSCH")
Wenn ich mir mit type die Variable 'operator' ansehe ist das natürlich ein 'str', denke darum läuft meine Rechnung nicht (das Resultat ist immer falsch).
Kann mir bitte jemand auf die richtige Spur helfen?

Grüsse Leubi30
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Wie kommst du denn darauf dass die Zeile, in der calc ein Wert zugewiesen wird, eine Rechnung durchführt? Nur weil du 3 Namen mit Komma hintereinander schreibt?
Das hat tatsöchlich einen Effekt (welchen?), aber eine Rechnung führt das nicht durch.

Ich würde sagen: bei dem Wissenstand wäre das eine gute Möglichkeit sich mit if-Bedinungen näher vertraut zu machen und anhand des Wertes des Operators die tatsächliche Rechnung durchzuführen.

Also in Pseudocode:
wenn operator gleich "+" ist, dann rechne zahl1 + zahl 2
ansonsten wenn oprator gleich "-" ist, dann rechner zahl1 - zahl2
....
Leubi30
User
Beiträge: 2
Registriert: Donnerstag 16. Februar 2023, 20:45

Danke, das hat mir sehr geholfen.
Ich habe schon ein paar kleine Projekte geschrieben und versuche mich mit den Grundlagen. In allen Projekten habe ich es mit einer if-Bedingung gelöst, hier habe ich nahezu alles versucht, nur halt die if nicht.

Ich stecke wie erwartet jetzt in neuen Problemen/Herausforderungen, muss das Projekt aber erstmal ruhen lassen.

Leubi
Antworten