Programmiersprache Python

Das OffTopic Forum - hier ist fast alles erlaubt, Boardregeln beachten!
User avatar
Optimus Prime
mobile-Expert
Posts: 233
Joined: Tue 9. Aug 2011, 16:42
Firmware: bada 2.0 Beta
Netzbetreiber: o2
BS: Windows 7 64bit
Location: Cybertron
Contact:

Re: Programmiersprache Python

Post by Optimus Prime »

FreundBlase wrote:Was haut denn nicht hin?
Und warum machst du das ganze eigentlich in Python? Würde sich nicht eher Delphi für sowas anbieten?!
Ich kenn Python eher für mathematische Sachen, DGL lösen, Integrale, Diagramm usw.

Tut mir echt leid, dass ich mich noch nicht weiter mit beschäftigt habe, aber ich muss echt zusehen, dass ich mit meiner DA zu Rande komme :(
ich absolviere grade ein Praktikum als fachinformatiker im bereich anwendungsentwicklung und habe einige aufgaben bekommen, darunter diese hier

Nur komme ich granicht weiter.... gar keine Ahnung wie python läuft, der interpretter ist echt zu... :( würde das ganze auch lieber in einer anderen sprache machen nur "soll ich es in der versuchen"

Ich häng da schon seit 2 tagen dran, es gibt viele lösungswege nur die passen alle nicht, sind meist in einer neueren Version geschrieben und ich hab ein etwas älteren interpreter.

hier sind nochmal die Aufgaben

Erstelle ein Vokabelprogramm mit folgenden Funktionen

1.Eingabe neuer Vokabeln
2.Abfrage von Vokabeln (lernen)
3.Speichern der Vokabel in eine Datei
4.ändern und ergänzen von Vokabeln.

leider läuft das script welches ich voher hier gepostet hab nicht ganz. falls du die Zeit findest dann schau es dir bitte mal an.

Danke :D
Wer die immer auf den neusten Stand sein möchte, was Smartphone,Apps, Android,IOS angeht bitte diese seite liken und wenn möglich teilen

https://www.facebook.com/pages/Tech-Nac ... 1025260731
User avatar
Optimus Prime
mobile-Expert
Posts: 233
Joined: Tue 9. Aug 2011, 16:42
Firmware: bada 2.0 Beta
Netzbetreiber: o2
BS: Windows 7 64bit
Location: Cybertron
Contact:

Re: Programmiersprache Python

Post by Optimus Prime »

ich komme immer weiter

#dict = {'Deutschland':'Germany', 'Italien':'Italy','Frankreich':'France','Griechenland':'Greece'}

import sys
import os

###############################################
def buchslesen (dict):
###############################################
Buch = open("test.txt", "r")
for line in Buch:
zuordnung = line.split(" ")
dict[zuordnung[0]] = zuordnung[1]
return dict

###############################################
def buchschreiben (key,value):
###############################################
Buch = open("test.txt", "a")
Buch.write(key + " " + value + "\n")

def start2():
###############################################
input_var = input("nochmal? (ja/nein) ")
if (input_var == "ja"):
while True:
worteingeben(dict)
worteingeben(dict)
###############################################
def start ():
###############################################
print("Herzlich willkommen zu dem Vokabellernprogramm")
input_var = input("Möchten Sie beginnen (ja/nein) ")
if (input_var == "ja"):
dict = ()
print(" ")
#dict = buchslesen(dict)
worteingeben(dict)
worteingeben(dict)
else:()


###############################################
def worteingeben (dict):
###############################################
key = input("Geben Sie ein Wort ein: ")
if key in dict:
print ("Das deutsche Wort dafür lautet: "), dict[key]
print(dict[key])

else:
print ("Das Wort existiert nicht in meinem Wörterbuch")
eingabe_value = input("Die Übersetztung eingeben")
buchschreiben(key,eingabe_value)
start()


nur liest er die datei nicht

wisst ihr warum ?
Wer die immer auf den neusten Stand sein möchte, was Smartphone,Apps, Android,IOS angeht bitte diese seite liken und wenn möglich teilen

https://www.facebook.com/pages/Tech-Nac ... 1025260731
User avatar
FreundBlase
mobile-Hero
Posts: 1144
Joined: Thu 21. Jul 2011, 09:03
Firmware: 4.0.4
Netzbetreiber: fyve (D2)
BS: Windows 8

Re: Programmiersprache Python

Post by FreundBlase »

Ihh, reduzier mal bitte die Rautenanzahl etwas :D

Und ich denke mal, im Code ist es alles noch eingerückt? Also:

Code: Select all

if --- :
   bla
   bla 
   bla
Hier, ne Frage:

Code: Select all

def buchslesen (dict):
Buch = open("test.txt", "r")
for line in Buch:
   zuordnung = line.split(" ")      
   dict[zuordnung[0]] = zuordnung[1]
return dict
Achsoo, nee, habs grad gerafft, was ich erst nicht verstanden hab. In der Datei test.txt stehen die Wörter in einer Spalte?! Aber trotzdem find ich deinen Split komisch, warum nicht so?

Code: Select all

line.split(":")
, also, dass er beim : splittet, nicht bei nem Leerzeichen.

Hmm, bzw kenn ich ja den Befehl wieder nicht.
Das ist doof, irgendwie kann man dir schlecht helfen, weil man ja nciht drin steckt. Du müsstest dir nen Partner in deinem Kurs suchen, bist doch wohl nicht der einzige mit der Aufgabe?!

Programmieren ist bei mir immer mit viel Ausprobieren, Hilfsvariablen, Bildschirmausgaben, interne Befehlsreferenz, interne Hilfe und Googlen verbunden, oder eben Teamarbeit. Aber als Außenstehender kann man da irgendwie schlecht helfen ...

Und noch was, mich stören immer diese gewollten Endlosschleifen :D Also "while True" und ähnliches. Das lässt sich eigentlich immer umgehen ...
Und eine Eingabe "ja" oder "nein" ist zu komplex, mach wenn denn "j" oder "n" ;)
- Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil! -
User avatar
mortara
mobile-Legend
Posts: 2569
Joined: Tue 19. Jul 2011, 06:16
Smartphone system: Android
Netzbetreiber: Vodafone
BS: Windows 7 64bit
Location: Frankfurt am Main
Contact:

Re: Programmiersprache Python

Post by mortara »

Ohne jemals Python programmiert zu haben, aber das hier

Code: Select all

Buch = open("test.txt", "r")
for line in Buch: 
zuordnung = line.split(" ")
dict[zuordnung[0]] = zuordnung[1]
return dict
sollte, wie FB schon geschrieben hat, so aussehen:

Code: Select all

Buch = open("test.txt", "r")
for line in Buch: 
   zuordnung = line.split(" ")
   dict[zuordnung[0]] = zuordnung[1]

return dict
Die restlichen Blöcke genauso ....

Die Einrückung bei Python gruppiert ja Zeilen zu Blöcken, was in C++ (und anderen vernünftigen Sprachen) die geschweiften Klammen {...} machen ....
Patrick
User avatar
Optimus Prime
mobile-Expert
Posts: 233
Joined: Tue 9. Aug 2011, 16:42
Firmware: bada 2.0 Beta
Netzbetreiber: o2
BS: Windows 7 64bit
Location: Cybertron
Contact:

Re: Programmiersprache Python

Post by Optimus Prime »

mortara wrote:Ohne jemals Python programmiert zu haben, aber das hier

Code: Select all

Buch = open("test.txt", "r")
for line in Buch: 
zuordnung = line.split(" ")
dict[zuordnung[0]] = zuordnung[1]
return dict
sollte, wie FB schon geschrieben hat, so aussehen:

Code: Select all

Buch = open("test.txt", "r")
for line in Buch: 
   zuordnung = line.split(" ")
   dict[zuordnung[0]] = zuordnung[1]

return dict
Die restlichen Blöcke genauso ....

Die Einrückung bei Python gruppiert ja Zeilen zu Blöcken, was in C++ (und anderen vernünftigen Sprachen) die geschweiften Klammen {...} machen ....
Danke... is echt blöd mit diesem einrücken

werde es dann morgen testen, bin leider nicht an meinem PC online.
Wer die immer auf den neusten Stand sein möchte, was Smartphone,Apps, Android,IOS angeht bitte diese seite liken und wenn möglich teilen

https://www.facebook.com/pages/Tech-Nac ... 1025260731
User avatar
Optimus Prime
mobile-Expert
Posts: 233
Joined: Tue 9. Aug 2011, 16:42
Firmware: bada 2.0 Beta
Netzbetreiber: o2
BS: Windows 7 64bit
Location: Cybertron
Contact:

Re: Programmiersprache Python

Post by Optimus Prime »

so jetzt aber.. langsam langsamm komme ich dahinter :D

hier is mein Code, funktioniert fast

Code: Select all

import sys
import os

###############################################
def buchslesen (dict):
###############################################    
    Buch = open("test1.txt", "r")
    for line in Buch: 
        zuordnung = line.split(" ")
        dict[zuordnung[0]] = zuordnung[1]
    Buch.close()
    return dict

###############################################
def buchschreiben (key,value):
###############################################    
        Buch = open("test1.txt", "a") 
        Buch.write(key + " " + value + "\n")
    

###############################################
def start ():
############################################### 
    print("Herzlich willkommen zu dem Vokabellernprogramm")
    input_var = input("Möchten Sie beginnen (ja/nein) ")
    if (input_var == "ja"):
        dict = ()
        print(" ")
        #dict = buchslesen(dict)
        worteingeben(dict)
        
    else:()

###############################################
def start2():
###############################################
    input_var = input("möchten sie es nochmal versuchen (ja/nein) ")
    if (input_var == "ja"):
        print(" ")
        dict = {}
        worteingeben(dict)
        buchschreiben (key,value)
        buchslesen(dict)
    else:
        print("bis zum nächsten mal")
        quit()
    

###############################################
def worteingeben (dict):
###############################################
    key = input("Geben Sie ein Wort ein: ")
    if key in dict:
        ueberpruefe(dict)
        print ("Das deutsche Wort dafür lautet: "), dict[key]
        print(dict[key])
        while True:
              start2()
              worteingeben(dict)
            
    else:    
        print ("Das Wort existiert nicht in meinem Wörterbuch")
        eingabe_value = input("Die Übersetztung eingeben")
        buchschreiben(key,eingabe_value)
        while True:
             start2()
             worteingeben(dict)
start()
        

nur brauche ich jetzt eine funktion die es beendet ohne fehler und eine funktion die die keys prüft

habt ihr eine idee? :D
Wer die immer auf den neusten Stand sein möchte, was Smartphone,Apps, Android,IOS angeht bitte diese seite liken und wenn möglich teilen

https://www.facebook.com/pages/Tech-Nac ... 1025260731
User avatar
sCion
mobile-Legend
Posts: 3375
Joined: Fri 22. Jul 2011, 07:12
Smartphone system: Windows
Netzbetreiber: Netzclub (o2)
BS: Windows 7 64bit
Location: Berlin
Contact:

Re: Programmiersprache Python

Post by sCion »

Also hast du schon eine Beenden-Funktion? Die aber einen Fehler rauswirft?
Devices: Wave 3, Wave 1, Wave M, Tizen RD-PQ, Ativ S

Kein Support via PN.

Lead Developer of SciDev
AppsReader | Baby Count | LiveClock PRO | SMS|ER
User avatar
Optimus Prime
mobile-Expert
Posts: 233
Joined: Tue 9. Aug 2011, 16:42
Firmware: bada 2.0 Beta
Netzbetreiber: o2
BS: Windows 7 64bit
Location: Cybertron
Contact:

Re: Programmiersprache Python

Post by Optimus Prime »

sCion wrote:Also hast du schon eine Beenden-Funktion? Die aber einen Fehler rauswirft?
ich keine funktion, aber ein befehl quit() nur funkst das nicht so wie es sein soll

wenn ich es mit einer funktion probiere

Code: Select all

def ende()
     sys.exit
bekomme ich auch eine Fehlermeldung

Die Datei liest das prog auch nicht, weiss nicht warum vorher hatts funktioniert.
Wer die immer auf den neusten Stand sein möchte, was Smartphone,Apps, Android,IOS angeht bitte diese seite liken und wenn möglich teilen

https://www.facebook.com/pages/Tech-Nac ... 1025260731
User avatar
sCion
mobile-Legend
Posts: 3375
Joined: Fri 22. Jul 2011, 07:12
Smartphone system: Windows
Netzbetreiber: Netzclub (o2)
BS: Windows 7 64bit
Location: Berlin
Contact:

Re: Programmiersprache Python

Post by sCion »

Wie sieht die Fehlermeldung aus?
Devices: Wave 3, Wave 1, Wave M, Tizen RD-PQ, Ativ S

Kein Support via PN.

Lead Developer of SciDev
AppsReader | Baby Count | LiveClock PRO | SMS|ER
User avatar
FreundBlase
mobile-Hero
Posts: 1144
Joined: Thu 21. Jul 2011, 09:03
Firmware: 4.0.4
Netzbetreiber: fyve (D2)
BS: Windows 8

Re: Programmiersprache Python

Post by FreundBlase »

Code: Select all

def worteingeben (dict):
    key = input("Geben Sie ein Wort ein: ")
    if key in dict:
        ueberpruefe(dict)
        print ("Das deutsche Wort dafür lautet: "), dict[key]
        print(dict[key])
        [color=#FF0000]while True:
              start2()
              worteingeben(dict)[/color]
Ähm, also nochmal:
"while True" macht dir automatisch ne Endlosschleife, die dir gar keine Abbruchbedingung liefert ... Zusätzlich wird in dieser While-Schleife immer wieder die Funktion worteingeben aufgerufen, du baust dir hier also eine Schachtel-Funktion, aus der du nicht so einfach rauskommst.

Dann steckt das gleiche nochmal im Else-Strang ...

Die SChleife ist doch total überflüssig, genauso wie der Aufruf der Fkt worteingabe, ein einfaches "start2()" dürfte reichen, damit sich das Programm wiederholt.

DAnn: Was soll der Befehl print(" ") machen??

ueberpruefe(dict) muss noch geschrieben werden?! Was soll das machen? Denn, wenn (key in dict = True), dann ist key doch richtig geschrieben, wozu die Überprüfung dann?

Und eine letzte Sache:
was soll das erste "s" in buchslesen??
- Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil! -
Post Reply