Προς το περιεχόμενο
  • Εγγραφή
  • 0

Python help - Δημιουργία αλγόριθμου για ολους τους δυνατούς συνδιασμούς απο μεταβλητές.


silenoz66

Ερώτηση

  • Απαντήσεις 37
  • Δημιουργία
  • Τελευταία απάντηση

Συχνή συμμετοχή στην ερώτηση

Δημοφιλείς Ημέρες

Συχνή συμμετοχή στην ερώτηση

Δημοφιλή Μηνύματα

for(int i = 0; i < 1000; i++) Console.WriteLine(Int32ToString(i, 3).PadLeft(10, '0')); public static string Int32ToString(int value, int toBase) { string result =

google: python + itertools + combinations

Το έκανα τσακ μπαμ για να δείς, κάντον copy-paste σε online compiler python:   from itertools import product stations = int(input("Dwse # station tou systimatos: ")) final_list=list()

Δημοσιευμένες Εικόνες

Προτεινόμενες αναρτήσεις

  • 0
 for(int i = 0; i < 1000; i++)
    Console.WriteLine(Int32ToString(i, 3).PadLeft(10, '0'));

                         
public static string Int32ToString(int value, int toBase)
{
    string result = string.Empty;
    do
    {
        result = "0123456789ABCDEF"[value % toBase] + result;
        value /= toBase;
    }
    while(value > 0);
    return result;
}
                         

0000000000
0000000001
0000000002
0000000010
0000000011
0000000012
0000000020
0000000021
0000000022
0000000100
0000000101
0000000102
0000000110
0000000111
0000000112
   .....

 

  • Like 2
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
5 λεπτά πριν, tsofras είπε

Έχει γράψει την λύση που του κάνει (αν και εγώ έχω έναν ενδοιασμό :D )

Ρε μαν χέσε όλες τις μεταβλητές , το τελευταίο ψηφίο δεν είπες ότι θέλεις να είναι 0 ή 1 ή 2 ?

Το αποτέλεσμα του κώδικα σου έχει και τιμές μεγαλύτερες

Οπότε έρχεται σε αντίθεση με αυτό που γράφεις

Υ.Γ. Δεν γράφω για να στο παίξω έξυπνος , μην παρεξηγηθώ , αλήθεια προσπαθώ να βοηθήσω και να καταλάβω έτσι για να δουλεύει και το δικό μου μυαλό σε κάτι διαφορετικό απο αυτά που κάνω

Καρτεσιανό γινόμενο έχω δουλέψει ,Αλυσίδα Μάρκοφ δεν έχω δουλέψει και δεν ήξερα καν τι είναι. Μπήκα στον κόπο να διαβάσω για να καταλάβω και αυτό είναι το ενδιαφέρον σε τέτοια ποστς

Μα είπα ότι το παράδειγμα που πόσταρα ήταν απλα τυχαίο παράδειγμα όσον αφορά τα νουμερα... 
Κλεινω death stranding και κάθομαι να γράψω τον κώδικα ακριβώς για δνα καταλάβειςτι θέλω!

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)
1 λεπτό πριν, silenoz66 είπε

Μα είπα ότι το παράδειγμα που πόσταρα ήταν απλα τυχαίο παράδειγμα όσον αφορά τα νουμερα... 
Κλεινω death stranding και κάθομαι να γράψω τον κώδικα ακριβώς για δνα καταλάβειςτι θέλω!

Δεν ντρέπεσαι ρε να παίζεις?

Πλάκα κάνω

Επεξ/σία από tsofras
  • Sad 1
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Το έκανα τσακ μπαμ για να δείς, κάντον copy-paste σε online compiler python:

 

from itertools import product
stations = int(input("Dwse # station tou systimatos: "))

final_list=list()
for i in range(1, stations+1):
    list_a=int(input(f"dwse to megisto dynato quanity tou {i} stathmou: "))
    list_b=int(input(f"dwse to megisto dynato order poy mporei na dextei o {i} stathmos: "))
    list_c=[0, 1, 2]
    final_list.append(range(0, list_a+1))
    final_list.append(range(0, list_b+1))
    final_list.append(list_c)


print (final_list)

prod = list(product(*final_list))
for i in prod:
    print (i)

Βλέπω να λειτουργεί τέλεια πάντως, τσεκαρε το λίγο να συζητησουμε τους ενδοιασμους σου :D 

  • Like 2
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
12 λεπτά πριν, silenoz66 είπε

Το έκανα τσακ μπαμ για να δείς, κάντον copy-paste σε online compiler python:

 

from itertools import product
stations = int(input("Dwse # station tou systimatos: "))

final_list=list()
for i in range(1, stations+1):
    list_a=int(input(f"dwse to megisto dynato quanity tou {i} stathmou: "))
    list_b=int(input(f"dwse to megisto dynato order poy mporei na dextei o {i} stathmos: "))
    list_c=[0, 1, 2]
    final_list.append(range(0, list_a+1))
    final_list.append(range(0, list_b+1))
    final_list.append(list_c)


print (final_list)

prod = list(product(*final_list))
for i in prod:
    print (i)

Βλέπω να λειτουργεί τέλεια πάντως, τσεκαρε το λίγο να συζητησουμε τους ενδοιασμους σου :D 

Τώρα μάλιστα , εγώ σχολίασα τον προηγούμενο κώδικα που το τελευταίο ψηφίο ήταν > 2

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
25 λεπτά πριν, tsofras είπε

Δεν ντρέπεσαι ρε να παίζεις?

Πλάκα κάνω

Πήρα χαρά που βρήκα λύση και έιπα να συνεχίσω λίγο το death stranding :D είχα μια εβδομάδα να ακουμπήσω game..(περίεργο για εμενα αχαχαχ)

Εγώ όταν κάνω παραδείγαμτα δν βάζω τα actual νούμερα, βάζω όσα λιγότερα μπορώ για να τρέξει απλά η λογική πίσω απο αυτό.
Μετα κάνω σωστή δόμιση

  • Haha 2
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)

Στη θέση σου πάντως θα ρωτούσα καλού κακού τον καθηγητή σου κατά πόσο επιτρέπεται η χρήση τέτοιων libraries γιατί ενδεχομένως να θεωρηθεί cheat η χρήση της product εδώ. Αναλόγως τι ακριβώς εξετάζει η άσκηση.

Επίσης περαν της χρησιμότητας της συνάρτησης καλό θα ήταν από μέρος σου να μελετήσεις τι σημαίνει καρτεσιανό γινόμενο Ν διαστάσεων ώστε να καταλάβεις πώς υλοποιείται ακριβώς. Η product όπως διαπίστωσες δεν είναι τελείως straightforward ωστόσο είναι ένας από τους πιο κοινούς αλγορίθμους που θα συναντήσεις μπροστά σου και πολύ πιθανό να χρειαστεί να την υλοποιήσεις με το χέρι σε μια συνέντευξη μεθαύριο.

Επεξ/σία από the other one
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.