ubuntuusers.de

Basic 256

Status: Ungelöst | Ubuntu-Version: Ubuntu 11.10 (Oneiric Ocelot)
Antworten |

theCed

(Themenstarter)

Anmeldungsdatum:
21. Oktober 2011

Beiträge: 226

okay. Vielen Dank user unknown ;D

Ich werd mich mal an python versuchen, wäre das was zum Anfangen?

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

theCed schrieb:

Ich werd mich mal an python versuchen, wäre das was zum Anfangen?

Ja! Und bevor Du es findest: Finger weg von Büchern zum Thema Python vom Galileo-Verlag (speziell OpenBook!) und / oder den Autoren Ernesti / Kaiser.

Ansonsten schau mal ins wiki vom Python-Forum.

theCed

(Themenstarter)

Anmeldungsdatum:
21. Oktober 2011

Beiträge: 226

Lysander schrieb:

theCed schrieb:

Ich werd mich mal an python versuchen, wäre das was zum Anfangen?

Ja! Und bevor Du es findest: Finger weg von Büchern zum Thema Python vom Galileo-Verlag (speziell OpenBook!) und / oder den Autoren Ernesti / Kaiser.

Ansonsten schau mal ins wiki vom Python-Forum.

Okay. Danke erstmal 😀

Ich hab mir python3 mit dem Software-Center heruntergeladen, dann brauch ich das ja nicht mehr von python.org, oder?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

dann brauch ich das ja nicht mehr von python.org, oder?

Richtig. Ich habe jetzt zwar nicht geschaut, ob die Version in Oneiric die aktuellste ist, aber das ist für den Anfang so was von egal...

Wirklich wichtig ist aber, dass du dann auch Tutorials zu Python 3 durchliest (und nicht zu Python 2), zumindest so lange, bis dir die Unterschiede klar sind. Es hat sich zwar von 2 → 3 nicht sooo viel geändert, aber ein paar Dinge schon. Und es wäre ja blöd, wenn du verzweifelst, nur weil du versuchst, ein Python 2 Tutorial komplett unter Python 3 nachzuvollziehen.

Gruß, noisefloor

herbstkaelte

Anmeldungsdatum:
19. Oktober 2011

Beiträge: 217

Die Links zu Python schaue ich mir auch gerade an. Mir gefällt die Sprache auf den ersten Blick. Was mich allerdings etwas irritiert, sind die fehlenden Klammern und dass es offenbar kein begin/end und sowas gibt. Gewöhnt man sich daran schnell?

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

herbstkaelte schrieb:

Was mich allerdings etwas irritiert, sind die fehlenden Klammern und dass es offenbar kein begin/end und sowas gibt. Gewöhnt man sich daran schnell?

Japp! Nach kurzer Zeit willst Du keine Klammern, Semikola oder "*end" Schlüsselwörter mehr 😉

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Was mich allerdings etwas irritiert, sind die fehlenden Klammern und dass es offenbar kein begin/end und sowas gibt. Gewöhnt man sich daran schnell?

Das ist doch gerade das coole 😉

Gruß, noisefloor

herbstkaelte

Anmeldungsdatum:
19. Oktober 2011

Beiträge: 217

noisefloor schrieb:

Hallo,

Was mich allerdings etwas irritiert, sind die fehlenden Klammern und dass es offenbar kein begin/end und sowas gibt. Gewöhnt man sich daran schnell?

Das ist doch gerade das coole 😉

Gruß, noisefloor

Ah! It's not a bug, it's a feature! 😬

Mir schwirrt nur mittlerweile ein wenig mein Kopf. Seit ich mich vor Kurzem mit Linux näher beschäftige, musste ich garantiert schon ein dutzend "Sprachen" lernen und nun kommt noch eine ohne "Satzzeichen" daher.^^

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Also das ist ja gerade ein Plus von Python dieser ganze unnütze Kram fällt weg und man schreibt nur das relevante. Macht den Code übersichtlicher und weniger Schreibarbeit.

theCed

(Themenstarter)

Anmeldungsdatum:
21. Oktober 2011

Beiträge: 226

So hab ich mal rangesetzt und heute Abend ein kleines Progrämmchen geschrieben: (Ich gebe zu, ich hab viel rumprobiert, bis es endlich geklappt hat)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/usr/bin/env python3.2

print ("Trage deinen Namen ein")


name = input()
a = 'tom' 

if name == a:
   print ("Hallo")

if name != a:
   print ("Herzlich Willkommen" " " + name) 

Um es mal kurz zu erläutern: Lautet der Input "Tom", wird er mit "Hallo" begrüßt, lautet er nicht Tom, wird er mit "Herzlich Willkommen *eingegebener Name*" begrüßt.

Aber wie könnte man jetzt die Liste der Leute, die mit "Hallo" begrüßt werden, erweitern?

Mit den hier beschriebenen Listen will es nicht so recht klappen:

So bekomme ich immer "Herzlich willkommen" auch bei Tim & Tom...

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/usr/bin/env python3.2

print ("Trage deinen Namen ein")


name = input()
a = ['tom', 'tim'] 

if name == a:
   print ("Hallo")

if name != a:
   print ("Herzlich Willkommen" " " + name) 

herbstkaelte

Anmeldungsdatum:
19. Oktober 2011

Beiträge: 217

Mit einer for-Schleife 😬

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/usr/bin/env python3.2

print ("Trage deinen Namen ein")

name = input()
a = ['tom', 'tim']

for n in a:
        if n == name:
                print ("Hallo")

theCed

(Themenstarter)

Anmeldungsdatum:
21. Oktober 2011

Beiträge: 226

herbstkaelte schrieb:

Mit einer for-Schleife 😬

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/usr/bin/env python3.2

print ("Trage deinen Namen ein")

name = input()
a = ['tom', 'tim']

for n in a:
        if n == name:
                print ("Hallo")

for-Schleife Uff... Da bin ich noch gar nicht 🙄 Kannst du aber trotzdem kurz erläutern, was sie macht? das hilft mir jetzt auf Anhieb auch nicht...

Die Zeilen 12-13 kann ich aber wohl so lassen, oder?

btw: Der Support in diesem Subforum ist ja grandios 😮 👍

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

herbstkaelte schrieb:

Mit einer for-Schleife 😬

Wozu so umständlich - in existiert:

1
2
3
name = input("Trage Deinen Namen ein: ")
if name in ["Tim", "Tom"]:
    print("Hallo ", name)

Generell ist das Binden von Objekten an Namen wenig sinnvoll, wenn man diese nur einmal nutzt! Das betrifft sowohl das a in herbstkaeltes Code, als auch in Deinem, theCed.

Zudem würde ich vorschlagen, für solche Dinge einen separaten Thread zu eröffnen - das hat ja nichts mehr mit der ursprünglichen Frage zu tun 😉

@herbstkaelte Laut PEP8 sollte man vier Leerzeichen pro Einrückungsebene nutzen. Vor allem auch keine Tabs; denn die sind ja je nach System unterschiedlich definiert.

herbstkaelte

Anmeldungsdatum:
19. Oktober 2011

Beiträge: 217

theCed schrieb:

herbstkaelte schrieb:

Mit einer for-Schleife 😬

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/usr/bin/env python3.2

print ("Trage deinen Namen ein")

name = input()
a = ['tom', 'tim']

for n in a:
        if n == name:
                print ("Hallo")

for-Schleife Uff... Da bin ich noch gar nicht 🙄 Kannst du aber trotzdem kurz erläutern, was sie macht? das hilft mir jetzt auf Anhieb auch nicht...

Die Zeilen 12-13 kann ich aber wohl so lassen, oder?

btw: Der Support in diesem Subforum ist ja grandios 😮 👍

Ne, die musst du auch verändern.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/usr/bin/env python3.2

print ("Trage deinen Namen ein")

name = input()
a = ['tom', 'tim']

nixdrin = 1
for n in a:
        if n == name:
                print ("Hallo")
                nixdrin = 0

if nixdrin:
        print ("Herzlich willkommen " + name)

Die for-Schleife greift sich in jedem Durchlauf ein Element aus der Liste a und stopft das Element in die Schleifenvariable n. Anstatt a kannst du also n auf Übereinstimmung prüfen. Allerdings musst du dann noch festhalten, ob auch eine Übereinstimmung gefunden wurde (in nixdrin).

Systemkritiker

Anmeldungsdatum:
2. Januar 2011

Beiträge: 110

Wohnort: Schweiz

track schrieb:

theCed schrieb:

Was kann man denn so theoretisch mit diesen Sprachen coden?

Alles. Wirklich.

track, kannst du mir ein Programm schreiben, das entscheidet, ob ein anderes Programm terminiert?