Moin,
Ich bin jetzt ganz neu im Programmieren, weil wir in der Schule damit anfangen habe ich vor zwei Tagen schonmal zuhause was probiert. Grade möchte ich einen Code schreiben, bei dem ich Zahlen eingebe und der Computer mir sagt, ob meine erste Zahl größer, kleiner oder gleich meiner zweiten ist. Es funktioniert bis if(Zahl<Zahl2) (Zahl und Zahl2 sind die Variablen). Das Größer-als-Zeichen wird als "invalid syntax" oder " `<` not supported between instance of `built_in_function_or_method` " beschrieben. In Tutorials wird aber genau dieses Zeichen benutz, in Foren etc. steht es so.
Hier nochmal der einviertelfertige Code:
#Zahleninput
thetext = input("Schreibe eine Zahl:")
Zahl = input
thetext = input("Schreibe eine zweite Zahl:")
Zahl2 = input
#if-Befehle
if(Zahl<Zahl2)
print("example")
Danke für alle Antworten
DeeJax
Größer als-Zeichen ist eine Invalid Syntax
-
- User
- Beiträge: 219
- Registriert: Donnerstag 21. Juli 2011, 07:01
- Wohnort: Stade / Hamburg
- Kontaktdaten:
Du musst den input für die Zahl der Variable direkt zuweisen. Außerdem bekommst du beim vom input einen String, also eine Zeichenkette, du musst sie in eine Zahl (float oder int) umwandeln.
So z.B.:
input: https://www.w3schools.com/python/ref_func_input.asp
Datentypen: https://realpython.com/python-data-types/
if / else: https://www.w3schools.com/python/python_conditions.asp
So z.B.:
Code: Alles auswählen
zahl = float(input("Schreibe eine Zahl:"))
zahl2 = float(input("Schreibe eine zweite Zahl:"))
if zahl < zahl2:
print("Zahl2 ist größer als Zahl1")
else:
print("Zahl1 ist größer als oder gleich Zahl2")
Datentypen: https://realpython.com/python-data-types/
if / else: https://www.w3schools.com/python/python_conditions.asp
- __blackjack__
- User
- Beiträge: 13080
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@DeeJax: Also entweder bekommst Du einen Syntaxfehler – dann läuft das Programm gar nicht erst, oder Du bekommst einen Laufzeitfehler. Beides gleichzeitig geht nicht. Beim gezeigten Quelltext bekommst Du einen Syntaxfehler, der aber nichts mit dem „*Kleiner* als“-Zeichen zu tun hat das in dem Quelltext enthalten ist, sondern damit das am Ende der ``if``-Anweisung der Doppelpunkt fehlt:
Wenn Du hier ein Problem vorstellst, dann bitte auch immer den tatsächlichen Code und die komplette Fehlermeldung – sonst müssen wir raten was Du denn tatsächlich gemacht hast und was das Problem sein könnte.
Um die Bedingung gehören übrigens keine unnötigen Klammern und um binäre Operatoren erhöhen Leerzeichen die Lesbarkeit.
Kommentare sollten nicht beschreiben *was* der Code tut, denn das steht da bereits als Code, sondern warum er das so tut. Sofern das nicht offensichtlich ist.
Das andere Problem was Du beschreibst kommt daher das Du `Zahl` und `Zahl2` nicht an Zahlen, sondern beide an die Funktion `input` bindest und dann versuchst heraus zu finden ob die Funktion kleiner als sie selbst ist – was nicht nur nicht geht, sondern auch recht sinnfrei wäre.
Namen schreibt man in Python klein_mit_unterstrichen. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (MixedCase). Also `zahl` statt `Zahl`.
Namen sollte man auch nicht durchnummerieren. Da will man entweder bessere Namen finden oder gar keine Einzelnamen sondern eine Datenstruktur verwenden. Oft eine Liste. Bei diesen komplett sinnfreien Werten würde mir aber auch nicht wirklich etwas besseres einfallen.
Code: Alles auswählen
File "forum15.py", line 7
if(Zahl<Zahl2)
^
SyntaxError: invalid syntax
Um die Bedingung gehören übrigens keine unnötigen Klammern und um binäre Operatoren erhöhen Leerzeichen die Lesbarkeit.
Kommentare sollten nicht beschreiben *was* der Code tut, denn das steht da bereits als Code, sondern warum er das so tut. Sofern das nicht offensichtlich ist.
Das andere Problem was Du beschreibst kommt daher das Du `Zahl` und `Zahl2` nicht an Zahlen, sondern beide an die Funktion `input` bindest und dann versuchst heraus zu finden ob die Funktion kleiner als sie selbst ist – was nicht nur nicht geht, sondern auch recht sinnfrei wäre.
Code: Alles auswählen
In [1]: input
Out[1]: <function input(prompt=None, /)>
In [2]: input < input
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-f3c7ee3e9bb3> in <module>
----> 1 input < input
TypeError: '<' not supported between instances of 'builtin_function_or_method' and 'builtin_function_or_method'
Namen sollte man auch nicht durchnummerieren. Da will man entweder bessere Namen finden oder gar keine Einzelnamen sondern eine Datenstruktur verwenden. Oft eine Liste. Bei diesen komplett sinnfreien Werten würde mir aber auch nicht wirklich etwas besseres einfallen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 1
- Registriert: Mittwoch 25. September 2019, 16:17
Hi - It was not only ">" sign error in your code. It had many other syntactical errors.
Since you are new to Python, so you must use an interactive IDE that could highlight the syntax errors while you code.
And for this, you do not have to install an IDE, try using the https://repl.it/languages/python3. This is an online IDE, and it catches and informs all the errors as you write the code.
I used the same to fix the code, check below:
And here is the output, when you execute:
For understanding the Python conditions, I suggest this: https://www.techbeamers.com/python-if-else/
Hope, with the help of a rich online IDE, you should be able to learn a lot faster.
Since you are new to Python, so you must use an interactive IDE that could highlight the syntax errors while you code.
And for this, you do not have to install an IDE, try using the https://repl.it/languages/python3. This is an online IDE, and it catches and informs all the errors as you write the code.
I used the same to fix the code, check below:
Code: Alles auswählen
#input
thetext = input ("Write a number:")
number = int(thetext)
thetext = input ("Write a second number:")
number2 = int(thetext)
# if-commands
if number < number2:
print ("example")
Code: Alles auswählen
Python 3.7.4 (default, Jul 9 2019, 00:06:43)
[GCC 6.3.0 20170516] on linux
Write a number:11
Write a second number:12
example
Hope, with the help of a rich online IDE, you should be able to learn a lot faster.