Was ist hier falsch?

Ich versuche gerade einen Satz des Pythagoras Rechner zu erstellen und finde den Fehler im System Momentan nicht, hier das Programm:

# Satz des Pythagoras

Satz_des_Pythagoras: str = input("Wenn sie die Hypotenuse berechnen wollen dann schreibe 'Hypotenuse' wenn sie die "
                                 "Kathete berechnen " "wollen dann schreiben sie 'Kathete'.: ")
Hypotenuse: str = "Hypotenuse"
Kathete: str = "Kathete"

Einheit: str = input("Möchten sie in cm, m oder km rechnen? Wenn sie in cm rechnen wollen dann schreiben sie 'cm' "
                     "wenn m dann 'm' und wenn km dann 'km'.: ")

cm: str = "cm"
m: str = "m"
km: str = "km"

if Satz_des_Pythagoras == Hypotenuse:

    # while not Satz_des_Pythagoras == "Hypotenuse" or "Kathete":
    while not Satz_des_Pythagoras == "Hypotenuse":
        Satz_des_Pythagoras: str = input(
            "Wenn sie die Hypotenuse berechnen wollen dann schreibe 'Hypotenuse' wenn sie die "
            "Kathete berechnen " "wollen dann schreiben sie 'Kathete'.: ")

    Kathete_a = float(input("gib die Kathete 'a' an: "))
    Kathete_b = float(input("gib die Kathete 'b' an: "))

    while Kathete_a or Kathete_b == 0:
        Kathete_a = float(input("gib die Kathete 'a' an: "))
        Kathete_b = float(input("gib die Kathete 'b' an: "))

    # setzt die Katheten ^2 =>

    Kathete_a_2 = float(Kathete_a * Kathete_a)
    Kathete_b_2 = float(Kathete_b * Kathete_b)

    # print(Kathete_a_2)
    # print(Kathete_b_2)

    # Addiert die Katheten (ergibt die Hypotenuse ^2) =>

    Hypotenuse_c_2 = (float(Kathete_a_2 + Kathete_b_2))

    # print(Hypotenuse_c_2)

    # Zieht die Wurzel aus c^2

    Hypotenuse_c = (float(Hypotenuse_c_2 ** 0.5))

    # print("die Hypotenuse ist", Hypotenuse_c, "(Einheit) lang")

    if Einheit == cm:
        print("die Hypotenuse ist", Hypotenuse_c, "cm lang")

    if Einheit == m:
        print("die Hypotenuse ist", Hypotenuse_c, "m lang")

    if Einheit == km:
        print("die Hypotenuse ist", Hypotenuse_c, 'km lang')

if Satz_des_Pythagoras == Kathete:

    Hypotenuse1 = (input('gib die Hypotenuse an: '))

    Kathete1 = float(input('gibt die Kathete an: '))

    while Kathete1 > Hypotenuse1:
        Hypotenuse1 = float(input("Die Hypotenuse darf nicht kleiner als die Kathete sein, gibt die Hypotenuse erneut "
                                  "an: "))

        Kathete1 = float(input("gib die Kathete erneut an (achte darauf das die Kathete nicht größer als die "
                               "Hypotenuse sein darf): "))

    # setzt Kathete und Hypotenuse ^2 =>

    Hypotenuse_2 = float(Hypotenuse1 * Hypotenuse1)
    Kathete_2 = float(Kathete1 * Kathete1)

    # print(Hypotenuse_2)
    # print(Kathete_2)

    # rechnet Hypotenuse - Kathete (ergibt die gesuchte ^2) =>

    Kathete_s_2 = float(Hypotenuse_2 - Kathete_2)

    # zieht die Wurzel aus der gesuchten Kathete=>

    Kathete_s = (float(Kathete_s_2 ** 0.5))
    # print("Die gesuchte Kathete ist", Kathete_s, "(Einheit) lang")
    if Einheit == cm:
        print("die Kathete ist", Kathete_s, "cm lang")

    if Einheit == m:
        print("die Kathete ist", Kathete_s, "m lang")

    if Einheit == km:
        print("die Kathete ist", Kathete_s, "km lang")

# print(Kathete_s)
...zur Frage

Zuerst zähle ich mal alle Fehler der Reihe nach auf und am Ende steht dein ausgebesserter (nicht verbesserter) Code.

Das kannst du einfacher machen:

Satz_des_Pythagoras: str = input("Wenn sie die Hypotenuse berechnen wollen dann schreibe 'Hypotenuse' wenn sie die "                                 "Kathete berechnen " "wollen dann schreiben sie 'Kathete'.: ")
Hypotenuse: str = "Hypotenuse" 
Kathete: str = "Kathete"

Einheit: str = input("Möchten sie in cm, m oder km rechnen? Wenn sie in cm rechnen wollen dann schreiben sie 'cm' "                     "wenn m dann 'm' und wenn km dann 'km'.: ")
cm: str = "cm"
m: str = "m"
km: str = "km"

Dein If enthält einen String, diesen solltest du in Anführungszeichen setzen:

if Satz_des_Pythagoras == Hypotenuse:

Das While ergibt hier keinen Sinn, wir wissen ja bereits was berechnet werden soll:

    while not Satz_des_Pythagoras == "Hypotenuse":
        Satz_des_Pythagoras: str = input(            "Wenn sie die Hypotenuse berechnen wollen dann schreibe 'Hypotenuse' wenn sie die "            "Kathete berechnen " "wollen dann schreiben sie 'Kathete'.: ")

Hier willst du vermutlich beide Katheten auf den Wert 0 überprüfen und nicht nur Kathete_b:

while Kathete_a or Kathete_b == 0:

3 mal If ohne den String in Anführungszeichen zu setzen (hatten wir schonmal):

    if Einheit == cm:
        print("die Hypotenuse ist", Hypotenuse_c, "cm lang")
    if Einheit == m:
        print("die Hypotenuse ist", Hypotenuse_c, "m lang")
    if Einheit == km:
        print("die Hypotenuse ist", Hypotenuse_c, 'km lang')

Korrigiere 4 mal:

if Satz_des_Pythagoras == Kathete:

Zwei Eingaben, aber nur eine davon ist richtig (kleiner Tipp: float):

    Hypotenuse1 = (input('gib die Hypotenuse an: '))
    Kathete1 = float(input('gibt die Kathete an: '))

String nicht in Anführungszeichen:

    if Einheit == cm:
        print("die Kathete ist", Kathete_s, "cm lang")
    if Einheit == m:
        print("die Kathete ist", Kathete_s, "m lang")
    if Einheit == km:
        print("die Kathete ist", Kathete_s, "km lang")

Zusätzlich hast du einige unnötigen Klammern verwendet, was aber kein Fehler ist.

Hier dein Code in funktionierender Form (wenn ich nichts übersehen hab), Kommentare hab ich weggelassen:

# Satz des Pythagoras

Satz_des_Pythagoras = input("Wenn sie die Hypotenuse berechnen wollen dann schreibe 'Hypotenuse' wenn sie die Kathete berechnen wollen dann schreiben sie 'Kathete'.: ")

Einheit = input("Möchten sie in cm, m oder km rechnen? Wenn sie in cm rechnen wollen dann schreiben sie 'cm' wenn m dann 'm' und wenn km dann 'km'.: ")

if Satz_des_Pythagoras == "Hypotenuse":
    Kathete_a = float(input("gib die Kathete 'a' an: "))
    Kathete_b = float(input("gib die Kathete 'b' an: "))

    while Kathete_a == 0 or Kathete_b == 0:
        Kathete_a = float(input("gib die Kathete 'a' an: "))
        Kathete_b = float(input("gib die Kathete 'b' an: "))

    Kathete_a_2 = float(Kathete_a * Kathete_a)
    Kathete_b_2 = float(Kathete_b * Kathete_b)
    Hypotenuse_c_2 = float(Kathete_a_2 + Kathete_b_2)
    Hypotenuse_c = float(Hypotenuse_c_2 ** 0.5)

    if Einheit == "cm":
        print("die Hypotenuse ist", Hypotenuse_c, "cm lang")
    if Einheit == "m":
        print("die Hypotenuse ist", Hypotenuse_c, "m lang")
    if Einheit == "km":
        print("die Hypotenuse ist", Hypotenuse_c, 'km lang')

if Satz_des_Pythagoras == "Kathete":
    Hypotenuse1 = float(input('gib die Hypotenuse an: '))
    Kathete1 = float(input('gibt die Kathete an: '))

    while Kathete1 > Hypotenuse1:
        Hypotenuse1 = float(input("Die Hypotenuse darf nicht kleiner als die Kathete sein, gibt die Hypotenuse erneut an: "))
        Kathete1 = float(input("gib die Kathete erneut an (achte darauf das die Kathete nicht größer als die Hypotenuse sein darf): "))

    Hypotenuse_2 = float(Hypotenuse1 * Hypotenuse1)
    Kathete_2 = float(Kathete1 * Kathete1)
    Kathete_s_2 = float(Hypotenuse_2 - Kathete_2)
    Kathete_s = float(Kathete_s_2 ** 0.5)

    if Einheit == "cm":
        print("die Kathete ist", Kathete_s, "cm lang")
    if Einheit == "m":
        print("die Kathete ist", Kathete_s, "m lang")
    if Einheit == "km":
        print("die Kathete ist", Kathete_s, "km lang")
...zur Antwort

Neben uBlock Origin als AdBlocker benutze ich uMatrix um nur ausgewählte Javascripts auszuführen.

Zusätzlich werden IPs bekannter Ad-Betreiber und anderer unerwünschten Seiten per hosts umgeleitet.

...zur Antwort

1125MB * 8000 = 9000000kbit

9000000kbit / 50000kbit/s = 180s

180s / 60 = 3min

...zur Antwort

Staffel 2 Episode 2, Sex mit der Erzfeindin passt schon.

ca. 2,5 Minuten vor Ende der Folge oder ab ca. Sekunde 30 in dem Clip: https://youtu.be/DGVoCHo4sFA?t=30

...zur Antwort

Warum funktioniert diese Batch Datei nicht?

Hi,

Ich mache gerade eine lokale E-Mail stelle bei der man mit einander Texten kann aber wenn ich auf anmelden und dann Username und E-Mail eingebe schließt sich das cmd Fenster obwohl er das Passwort abfragen sollte.

Hier die Batch Datei

@echo off
title fmail.com
:start
cls
echo ###########################
echo # a drücken für Anmeldung #
echo #                         #
echo # r drücken für neu-      #
echo # Anmeldung               #
echo ###########################
set /p aorr=EINGABE: 
if %aorr%==a goto E-Mail
if %aorr%==r goto newE-Mail
if not %aorr%==a goto start
if not %aorr%==r goto start
:E-Mail
echo Geben sie bitte ihren Username ein:
set /p lusername=Username:
set "lusername=%lusername: =_%"
echo Geben sie bitte ihre E-Mail Adresse ein:
set /p EMAIL=E-Mail:
FOR /F %%i in (%lusername%.txt) do (
if %EMAIL%@fmail.com==%%i goto Passw
if not %EMAIL%@fmail.com==%%i goto newE-MAil %%i
:Passw
echo Geben sie bitte ihr Passswort ein:
set /p Passw=Passwort:
set "Passw=%Passw: =_%"
FOR /F %%i in (%Passw%.txt) do (
if %Passw%==%%i start %Fmail%.txt
if not %EMAIL%@fmail.com==%%i goto newE-MAil %%i
)


goto END:


:newE-Mail
echo Geben sie ihre Wunsch E-Mail Adresse ein: (ohne @ oder anderen Sonderzeichen)
set /p newE-Mail=EINGABE:
echo Geben sie einen Username ein:
set /p Username=Name:
set "Username=%Username: =_%"
set /p newpassw=EINGABE:
echo %newE-Mail%@fmail.com >> %Username%.txt
echo %newpassw% >> %newpassw%.txt
:END

Danke im vorraus

...zur Frage

Ich hab keine Ahnung ob das der Fehler ist, aber deine FOR-Schleife in :E-Mail wird nicht geschlossen.

FOR /F %%i in (%lusername%.txt) do (
if %EMAIL%@fmail.com==%%i goto Passw
if not %EMAIL%@fmail.com==%%i goto newE-MAil %%i
### Hier fehlt )
:Passw
...zur Antwort

Wie kann ich dieses Skript vereinfachen?

Hallo ich habe eine Frage wie ich diese Vokabel abfrage vereinfachen kann so dass ich nur noch oben Wörter und Lösungen einmal eingeben muss und man alles eingeben kann ohne das das Programm dann schließt? (Python)

from time import sleep
import webbrowser


print("Willkommen bei der Latein Vokabel Abfrage der Lektion 20 Wortschatz 1")
print(" ")
sleep(5)
print("Alle Angaben sind nur mit Korekter Rechtschreibung und Grammatik richtig!!!\
    \nBei Ja und Nein Fragen ist Ja = + und Nein = -\
    \nLösung eingeben nur wenn man 100% sicher ist sonst:\
    \nWENN MAN DIE LÖSUNG NICHT WEIß MUSS MAN weiter EINGEBEN!!!\
    \nEs darf immer nur 1 Möglichkeit der Vokabel eingegeben werden!!!")
print("\
    \n")
sleep(5)
start = input("Start? Ja/Nein   ")


if start == "+":
    print(" ")
    print("Wird geladen bitte warten ...")
    sleep(20)
    print(" ")
    print("Fertig geladen")
    print(" ")
    sleep(3)
    
if start == "-":
    print(" ")
    print("Abbrechen bitte warten ...")
    sleep(20)
    quit(a)


print("1. Vokabel:")
Vokabel1 = input ("curae esse       ")


if Vokabel1 == "Sorge bereiten":
    print(" ")
    print("Richtig")
    sleep(3)
    print(" ")


if Vokabel1 == "weiter":
    print(" ")
    print("Richtig wäre Sorge bereiten")
    sleep(3)
    print(" ")


print("2. Vokabel:")
Vokabel2 = input ("parcere, parco, perci        ")


if Vokabel2 == "schonen":
    print(" ")
    print("Richtig")
    sleep(3)
    print(" ")


if Vokabel2 == "verschonen":
    print(" ")
    print("Richtig")
    sleep(3)
    print(" ")


if Vokabel2 == "weiter":
    print(" ")
    print("Richtig wäre schonen, verschonen")
    sleep(3)
    print(" ")


print("3. Vokabel:")
Vokabel3 = input ("plebs, plebis          ")


if Vokabel3 == "Volk":
    print(" ")
    print("Richtig")
    sleep(3)
    print(" ")


if Vokabel3 == "weiter":
    print(" ")
    print("Richtig wäre Volk") 
    sleep(3)
    print(" ")


print("4. Vokabel:")
Vokabel4 = input ("iuvare, iuvo, iuivi         ")


if Vokabel4 == "unterstützen":
    print(" ")
    print("Richtig")
    sleep(3)
    print(" ")


if Vokabel4 == "helfen":
    print(" ")
    print("Richtig")
    sleep(3)
    print(" ")


if Vokabel4 == "erfreuen":
    print(" ")
    print("Richtig")
    sleep(3)
    print(" ")


if Vokabel4 == "weiter":
    print(" ")
    print("Richtig wäre unterstützen, helfen, erfreuen") 
    sleep(3)
    print(" ")
    
while True:
    schließen = input ("BEENDEN?     ")


    if schließen == "+":
        print(" ")
        print("wird Beendet")
        sleep(20)
        quit(a)


    if schließen == "-":
        print("")
        sleep(5)
        
    


...zur Frage

Meinst du sowas:

vokabeln = (("curae esse",["Sorge bereiten"]),("parcere, parco, perci",["schonen","verschonen"]),("plebs, plebis",["Volk"]),("iuvare, iuvo, iuivi",["unterstützen","helfen","erfreuen"]))

print("Willkommen bei der Latein Vokabel Abfrage der Lektion 20 Wortschatz 1\n")
print("Alle Angaben sind nur mit Korekter Rechtschreibung und Grammatik richtig!!!\
    \nBei Ja und Nein Fragen ist Ja = + und Nein = -\
    \nLösung eingeben nur wenn man 100% sicher ist sonst:\
    \nWENN MAN DIE LÖSUNG NICHT WEIß MUSS MAN weiter EINGEBEN!!!\
    \nEs darf immer nur 1 Möglichkeit der Vokabel eingegeben werden!!!\n")

start = input("Start? Ja/Nein   ")

while start.lower() in ["ja","j","+"]:
    for i in vokabeln:
        x = ""
        while not x in i[1]:
            if x.lower() == "weiter":
                print("Richtig wäre: " + str(i[1]) + "\n")
                break
            elif x:
                print("Falsch!\n")
            x = input(i[0] + " ?\n")
        else:
            print("Richtig!\n")
    start = input("Noch eine Runde? Ja/Nein ")
else:
    print("Programm wird beendet!")
...zur Antwort

Python SchereSteinPapier error bei wiederholung der Schleife?

Hallo,

Wo genau liegt das Problem?

import random
import time

print("********************************************")
print("*Herzlich Willkommen zu Schere stein papier*")
print("********************************************")

rounds = int(input("Wie viele Runden möchtest du spielen? "))
win_usr = 0
win_bot = 0
round = 0

def countdown():
    print("3")
    time.sleep(1)
    print("2")
    time.sleep(1)
    print("1")
    time.sleep(1)

def user():
    usr = str(input("ihre eingabe: "))
    return usr

def bot():
    botchoice = ["1", "2", "3"]
    bot = (random.choice(botchoice))
    return bot

print("Eingabemöglichkeiten: Schere [1] Stein [2] Papier [3]")
while round <= rounds:
    countdown()
    usr = user()
    bot = bot()

    if usr == bot:
        print("Unentschieden")
        round += 1

    elif usr == "1" and bot == "3":
        print("Sie haben gewonnen1 \nder bot wählte Papier")
        win_usr += 1
        round += 1

    elif usr == "2" and bot == "1":
        print("Sie haben gewonnen! \nder bot wählte Schere")
        win_usr += 1
        round += 1

    elif usr == "3" and bot == "2":
        print("Sie haben gewonnen! \nder bot wählte Stein")
        win_usr += 1
        round += 1

    elif usr == "1" and bot == "2":
        print("Sie haben verloren! \nder bot wählte Stein")
        win_bot +=1
        round += 1

    elif usr == "2" and bot == "3":
        print("Sie haben verloren! \nder bot wählte Papier")
        win_bot +=1
        round += 1

    elif usr == "3" and bot == "1":
        print("Sie haben verloren \nder bot wählte Schere")
        win_bot += 1
        round += 1
    else:
        print("Ihre eingabe ist ungültig!")
        round -= 1


Danke

...zur Frage
bot = bot()

Es ist keine gute Idee denselben Namen für eine Variable und eine Funktion zu verwenden.

...zur Antwort
#!/bin/bash

while : ; do
    case "$1" in
        --lastname ) Lastname=$2; shift 2 ;;
        --givenname ) Givenname=$2; shift 2 ;;
        * ) break ;;
    esac
done

echo "Hallo $Givenname $Lastname"

Ansonsten kannst du dazu auch getopts (glaube nur für kurze Optionen) oder getopt verwenden.

Ergänzung, besser wäre (siehe Kommentar KarlRanseierIII):

#!/bin/bash

while (( $# )) ; do
    case "$1" in
        --lastname ) Lastname=$2; shift 2 ;;
        --givenname ) Givenname=$2; shift 2 ;;
        * ) shift ;;
    esac
done

echo "Hallo $Givenname $Lastname"
...zur Antwort

Eine Variante:

nochmal="j"
while [ $nochmal != "n" ] ; do

    # Dein Code kommt hierhin:
    # echo "Gib die erste ...
    # ...
    # echo "Ergebnis ...

    echo "Erneut (j/n)?"
    read nochmal
done

und eine andere Variante:

while : ; do

    # Dein Code kommt hierhin: 
    # echo "Gib die erste ...
    # ...
    # echo "Ergebnis ...

    echo "Erneut (j/n)?"
    read nochmal
    if [ $nochmal = "n" ]; then
        break
    fi
done
...zur Antwort

Du schreibst leider nicht unter welchem Betriebssystem bzw. welcher Programmiersprache dein Script laufen soll.

Unter Linux könntest du ImageMagick mit einem kleinen Script dafür nutzen, z.B.:

x=0
while read line
        do
                let "x++"
                convert $line +append "../dir/neu_$x.png"
done < <(ls | awk '(NR>1) {print letzte, $0} {letzte=$0}')

Fügt Bilder A und B zusammen und speichert diese im Verzeichnis ../dir als neu_1.png, danach B und C als neu_2.png, usw. (ergibt bei 100 Bildern 99 neue Bilder).

Falls du die Bilder anders zusammenfügen möchtest, z.B.: A+B=neu_1.png, C+D=neu_2.png kannst du (NR>1) durch !(NR%2) ersetzen (ergibt bei 100 Bildern 50 neue Bilder, bei einer ungeraden Anzahl wird das letzte Bild nicht zusammengefügt).

...zur Antwort
find . -type f \( -iname "test.*" ! -iname "test.344" \) -delete

Durchsucht alle Unterverzeichnisse nach Dateien (-type f) deren Name mit test. beginnt (-iname "test.*"), ignoriert dabei alle mit dem Namen test.344 (! -iname "test.344") und löscht diese (-delete).

Du kannst -delete weglassen um dir die betroffenen Dateien zuerst anzeigen zu lassen.

...zur Antwort

Schalter (links an der Seite) von oben nach unten:

1 - 5 = (Spannungs-) bereich auswählen (am Bild ist 200mV bzw. 200ohm eingestellt).

6 = Auswahl Gleich- / Wechselspannung

7,8 = laut Symbol auswählen, für Spannung (V, gelb) Schalter 7 drücken und Schalter 8 nicht drücken (also genau umgekehrt wie am Bild, jetzt ist es auf Widerstand eingestellt)

...zur Antwort

Unter Linux werden bei manchen Dateisystemen (ext* und evtl. anderen) 5% der Blöcke vom System reserviert, was in deinem Fall die Differenz von ca. 250GB erklären könnte.

Wenn du Root-Zugriff auf eine (ordentliche) Shell deines Systems hast kannst du das mit tune2fs ändern.

...zur Antwort

Unter Geld abbuchen

https://www.paypal.com/de/smarthelp/article/wie-buche-ich-geld-auf-mein-bankkonto-ab-faq1189

...zur Antwort

WebP ist ein Grafikformat von Google. Es ermöglicht bei gleicher Qualität eine kleinere Dateigröße als jpg.

Du kannst hier bei Gutefrage die URL vom Bild ändern um jpg zu erhalten.

...zur Antwort

Versuchs so:

def passwort5():
        return int(input("gib dein passwort ein "))

if passwort5() == 1923:
        print("passwort ist richtig ")
else:
        print("passwort ist falsch")
...zur Antwort

Python, kann mir jemand bei dem Code helfen?

Hallo, ich übe Python und ich sollte bei meiner heutigen Übung einen Lotto-Simulator schreiben, der mir 5x Zahlen von 1-50 ausspuckt und 2x Zahlen von 1-10, den habe ich geschafft zu schreiben, aber weil mir das so Spaß gemacht hat, wollte ich für mich selbst den Code erweitern und einfach drauf rumbasteln.

Die Erweiterung beinhaltet, dass ich mir eigene "Lottozahlen" (Variablen H bis L) mache, ich den Code runter laufen lasse bis er meine Zahlen hat und es mir meldet.

import random

h= 17
i= 22
j= 34
k= 42
l= 45
    
m= 1
n= 7

while 1: 
    a = random.randint(1, 51)
    b = random.randint(1, 51)
    c = random.randint(1, 51)
    d = random.randint(1, 51)
    e = random.randint(1, 51)
    
    f = random.randint(1, 11)
    g = random.randint(1, 11)
    
    if a!=b and a!=c and a!=d and a!=e and b!=c and b!=d and b!=e and c!=d and c!=e and d!=e:
        if f!=g:
            print(a,b,c,d,e, " ", f,g)
    elif f==m or g==m and f==m or f==n:
        print(f, g, "Zahlen identisch")
        break
    #elif a==h or a==i or a==j or a==k or a==l and b==h or b==i or b==j or b==k or b==l and c==h or c==i or c==j or c==k or c==l and d==h or d==i or d==j or d==k or d==l and e==h or e==i or e==j or e==k or e==l:
                #print(a,b,c,d,e,"   5 Richtige!")


mir geht es um den " elif f==m or g==m and f==m or f==n: " Part, ich weiß nicht wie ich den genau schreiben soll, es wird auch ausgelöst wenn nur f=m ist oder g=m...
Er soll nur auslösen wenn f=m ist oder g=m UND GLEICHZEITIG wenn f=m ist oder f=n.

Ich hoffe ich habe mich verständlich ausgedrückt.

Danke euch!

...zur Frage
es wird auch ausgelöst wenn nur f=m ist oder g=m...Er soll nur auslösen wenn f=m ist oder g=m UND GLEICHZEITIG wenn f=m ist oder f=n.

Ich glaub du möchtest eher f==m und g==n oder g==m und f==n, also als Ausgabe:

1 7 Zahlen identisch

bzw.

7 1 Zahlen identisch

Falls ja, dann schreibs doch einfach so:

elif f==m and g==n or g==m and f==n:
...zur Antwort