Άλλα μηνύματα του μέλους gademis σε αυτό το thread

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 43 ετών και επαγγέλεται Η.Μ.Μ.Υ. . Έχει γράψει 1,336 μηνύματα.
Παιδιά, ούτε ξέρω ούτε με ενδιαφέρει ιδιαίτερα να μάθω προγραμματισμό. :P
Tελικά με τι σειρά πρέπει να τις ορίσω τις συναρτήσεις;


ότι καλείς να το έχεις ορίσει απο πάνω, δηλαδή κάπως έτσι:

Code:
import random

def typeSel(): 
    return random.randint(1,7)

def wordSel():
    if type==1:
        poss=8
        x=random.randint(1,poss)
        word="axaaaaa"
    else:
        poss=8
        x=random.randint(1,poss)
        word="axaaaaa"
    return word

def wordGen():
    type=typeSel()
    word=wordSel()
    
wordGen()
ps: https://youtu.be/jzDlkBZLsMQ?t=15
 
Τελευταία επεξεργασία:

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 43 ετών και επαγγέλεται Η.Μ.Μ.Υ. . Έχει γράψει 1,336 μηνύματα.
Αν και δε κάνει πάντα πρόβλημα, φτιάξε ειδικά τη σειρά που ορίζεις τις συναρτήσεις που λέει ο Fast, μπορεί να είναι από εκεί.
 

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 43 ετών και επαγγέλεται Η.Μ.Μ.Υ. . Έχει γράψει 1,336 μηνύματα.
Aχ, και για τα δύο το τσέκαρα αλλά δεν ισχύουν.

Ουσιαστικά ο κώδικας πάει κάπως έτσι:

Code:
def wordGen():
    *λεξικά*
    *λεξικά*
    type=typeSel()
    word=wordSel()

def typeSel(): 
    import random
    return random.randint(1,7)

def wordSel():
    if type==1:
        poss=8
        x=random.randint(1,poss)
        word=intDict[x]
    elif
      *μπλα μπλα μπλα άλλες επιλογές με ίδιο σκεπτικό*
    return word
    
wordGen()


Τι πάει λάθος οεο;

αν είναι έτσι το indentation που έχεις στο quote (στο ίδιο επίπεδο ολα δηλαδή) , ναι δεν είναι scope..
το λάθος είναι NameError: name 'wordGen' is not defined ;
 

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 43 ετών και επαγγέλεται Η.Μ.Μ.Υ. . Έχει γράψει 1,336 μηνύματα.
Βοηθήστε με λίγο και πείτε μου, τι βλακεία παίζει να έχω κάνει για να μη μου βρίσκει μία συνάρτηση όταν τη καλώ; Ότι το έχω αποθηκεύσει άλλ'αντ'άλλων υποπτεύομαι αλλά δεν ξέρω πού θα έπρεπε. :P
Άσχετη, ντοντ τζατζ.


Δες επίσης αν ορίζεις τη συνάρτηση στο σωστό scope, καθώς ισχύουν οι ίδιοι κανόνες με τις μεταβλητές. Αν κάνεις κάτι του τύπου


Code:
def f1():
    def f2():
        print("lala")
    print("foo")

f2()


θα σου πετάξει error όταν πας να καλέσεις την f2 γιατί το scope της είναι (δηλαδή "ισχύει") μόνο μέσα στην f1 που είναι ορισμένη.
 
Top