Textgenerator für Datingapp

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Lou Cyphr3
User
Beiträge: 34
Registriert: Donnerstag 6. Juli 2017, 00:04

Donnerstag 3. Mai 2018, 23:09

Hallo,

falls wer Probleme hat seine Self-Summary in etwaigen Foren zu erstellen, habe ich mal ein kleines Hilfsprogramm geschrieben.

Code: Alles auswählen

import random
import time

ADJEKT = ['schön', 'groß', 'super']
NAME = ['Jimbo', 'Jim', 'James']
AGE = ['18', '20', '22']

print('Hallo, ich heiße ' + random.choice(NAME) + '\n'  + 'und ich bin ' + random.choice(ADJEKT))
time.sleep(3)
print('...')
time.sleep(3)
print('und der Kalender hat sich seit meiner Geburt bereits ' + random.choice(AGE) + ' mal vollständig umgeblättert')

ich bitte um Anmerkung und Kritik.

Danke
Lou
Cours, camarade, le vieux monde est derrière toi!
Benutzeravatar
noisefloor
User
Beiträge: 2456
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Freitag 4. Mai 2018, 09:32

Hallo,

Strings formatiert man mit der format-Methode von Strings, nicht per Verkettung mit `+`. Dann bräuchtest du die Zahlen in `AGE` auch nicht als String hinterlegen, sondern könntest Integer nehmen.

Welchen tiefern Sinn sollen die `sleep` zwischen den `print` haben? Das bringt nichts, außer dass das Programm langsamer läuft.

Rein sprachlich sind zwei `und` in dem Satz holprig. Da machst du besser zwei Sätze draus.

Gruß, noisefloor
Lou Cyphr3
User
Beiträge: 34
Registriert: Donnerstag 6. Juli 2017, 00:04

Freitag 11. Mai 2018, 00:42

Stimmt. ich habs jetzt so gemacht.
Die sleep.geschichte ist nur für die Performance.

Code: Alles auswählen

import random
import time

ADJEKT = ['schön', 'groß', 'super']
NAME = ['Jimbo', 'Jim', 'James']
SPORT = ['klettern', 'schwimmen','ringen']
KUNST = ['zeichne', 'singe', 'musiziere']

age = random.randint(18,42)

x = random.randint(1,100)
y = 2

hobby = x + y

print('Hallo, ich heiße ' + random.choice(NAME) + '\n'  + 'und ich bin ' + random.choice(ADJEKT))
time.sleep(1)
print('...')
time.sleep(1)
print(('und der Kalender hat sich seit meiner Geburt bereits ') + str(age) + ' mal vollständig umgeblättert')


if hobby < 42:
    print('Außerdem gehe ich gern ' + random.choice(SPORT))

else:
    print('Außerdem ' + random.choice(KUNST) + ' ich gern')
Cours, camarade, le vieux monde est derrière toi!
Benutzeravatar
noisefloor
User
Beiträge: 2456
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Freitag 11. Mai 2018, 07:56

Hallo,

die String-Formatierung ist immer noch stilistisch schlecht.

Was soll diese Konstrukt mit x, y und hobby? Bei `hobby` würde man auch eher ein Nomen erwarten und keine Zahl. x und y sind aussagelose Variablennamen, Variablennamen sollen in Python aussagekräftig sein.
Das ganze kann man so wie so auf `if randon.rantint(1, 100) < 40:` reduzieren.

Das `sleep` ist immer noch sinnlos - es ist doch völlig egal, ob das Programm 0,1 Sekunden oder 2,1 Sekunden braucht, bis es durch ist.

Und im deutschen beendet man alle Sätze mit einem Satzzeichen, oft einem Punkt. Das fehlt bei allen deine Sätzen.

Gruß, noisefloor
Antworten