Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Βοήθεια με ασκήσεις python (Απλες 1ου Ετους)

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2554

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
Χαχα !! το ξερω !! Ευχαριστώ για την βοήθεια σου !! ;)
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2555

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
Δες τι μου ειπε ! (Auto pou 8elw einai na mporei to programma sou na diavasei mia leksi i
mia frasi kai sti sunexeia na mporei eite na tin kryptografisei, eite
na tin apokryptografisei. Prosekse oti einai allo to leksiko tis
kryptografisis kai allo to leksiko tis apokryptografisis.) οταν δινω σαν input ας πουμε ονομα και επιθετο μου βγαζει ερρορ και τι εννοει οτι το λεξικο ειναι διαφορετικο ? δηλαδη αντιστρεφω τα γραμματα ?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2556

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
οταν δινω σαν input ας πουμε ονομα και επιθετο μου βγαζει ερρορ

Ποστάρισε το σφάλμα (όπως αυτό εμφανίζεται).


και τι εννοει οτι το λεξικο ειναι διαφορετικο ? δηλαδη αντιστρεφω τα γραμματα ?

Υποθέτω ότι αυτό εννοεί. Μήπως όμως θα ήταν καλύτερο να ρωτήσεις αυτόν που σου έδωσε το πρόβλημα;
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2559

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
Dwste leksi gia kriptografisi : thanasis mavro
Traceback (most recent call last):
  File "C:\Users\Nikos\Desktop\Caesar forum.py", line 17, in <module>
    leksi=crypto(word)
  File "C:\Users\Nikos\Desktop\Caesar forum.py", line 11, in crypto
    encrypted = encrypted + key[i]
KeyError: ' '
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2560

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
strack147 έγραψε:
Dwste leksi gia kriptografisi : thanasis mavro
Traceback (most recent call last):
  File "C:\Users\Nikos\Desktop\Caesar forum.py", line 17, in <module>
    leksi=crypto(word)
  File "C:\Users\Nikos\Desktop\Caesar forum.py", line 11, in crypto
    encrypted = encrypted + key[i]
KeyError: ' '

Αν παρατηρησεις και να το αλλαξεις και να μην το αλλαξεις το λεξικο ειναι το ιδιο .. !!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2561

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Μια λύση είναι αυτό:

try:
    encrypted = encrypted + key[i]
except KeyError:
    encrypted = encrypted + i

Μια δεύτερη λύση είναι να βάλεις στο λεξικό, κάποιο κλειδί για τον κενό χαρακτήρα. Η πρώτη λύση ενδείκνυται, γιατί πιάνει όλα τα λάθη του λεξικού.
Γράφω σε Python 3
Τελευταία διόρθωση: 9 Χρόνια 4 Μήνες πριν από kamar. Αιτία: Διόρθωση κώδικα
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2564

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
kamar έγραψε:
Μια λύση είναι αυτό:

try:
    encrypted = encrypted + key[i]
except KeyError:
    encrypted = encrypted + i

Μια δεύτερη λύση είναι να βάλεις στο λεξικό, κάποιο κλειδί για τον κενό χαρακτήρα. Η πρώτη λύση ενδείκνυται, γιατί πιάνει όλα τα λάθη του λεξικού.

μου βγαζει ερρορ στο except .. με το κενο το δοκιμασα και εγω και δουλευει αν ομως δοσω μια φραση με χαρακτηρα βγαζει ερρορ παλι ..
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2565

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Για αρχή στείλε επακριβώς το καινούργιο σφάλμα. Αν το διαβάσεις σου γράφει που βρίσκεται το λάθος.
Επίσης καλό θα ήταν να ποστάρεις και ολόκληρο τον κώδικα.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2566

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
def crypto(word):
    key = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u',
       'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c',
       'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k',
       'y':'l', 'z':'m', 'A':'N', 'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S',
       'G':'T', 'H':'U', 'I':'V', 'J':'W', 'K':'X', 'L':'Y', 'M':'Z', 'N':'A',
       'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F', 'T':'G', 'U':'H', 'V':'I',
       'W':'J', 'X':'K', 'Y':'L', 'Z':'M', ' ':' '}
    encrypted = ''
    for i in word:
        encrypted = encrypted + key[i]
    except KeyError:
    encrypted = encrypted + i
 
    return encrypted
 
 
word=input('Dwste leksi gia kriptografisi : ')
leksi=crypto(word)
print(leksi) 
#-----------------------------------------------------------------------------------
 
def decrypto(leksi):
 
    #( PRIN TIN ALLAGI )
    #key = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u',
    #'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c',
    #'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k',
    #'y':'l', 'z':'m', 'A':'N', 'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S',
    #'G':'T', 'H':'U', 'I':'V', 'J':'W', 'K':'X', 'L':'Y', 'M':'Z', 'N':'A',
    #'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F', 'T':'G', 'U':'H', 'V':'I',
    #'W':'J', 'X':'K', 'Y':'L', 'Z':'M'}
 
    key = {'n':'a', 'o':'b', 'p':'c', 'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h',
    'v':'i', 'w':'j', 'x':'k', 'y':'l', 'z':'m', 'a':'n', 'b':'o', 'c':'p',
    'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u', 'i':'v', 'j':'w', 'k':'x',
    'l':'y', 'm':'z', 'N':'A', 'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F',
    'T':'G', 'U':'H', 'V':'I', 'W':'J', 'X':'K', 'Y':'L', 'Z':'M', 'A':'N',
    'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S', 'G':'T', 'H':'U', 'I':'V',
    'J':'W', 'K':'X', 'L':'Y', 'M':'Z', ' ':' ' }
 
    decrypted = []
    for gramma in leksi:
        for k, v in key.items(): # k = key, v = value
            if v == gramma:
                decrypted.append(k)
    return decrypted
 
leksi2=decrypto(leksi)
for i in range(len(leksi2)):
    print (leksi2[i],end="")

Βγάζει συντακτικό λάθος .. δεν βγάζει κάποιο συγκεκριμένο λάθος !
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2567

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Βασικά υπάρχουν δυο λάθη:
for i in word:
        encrypted = encrypted + key[i]
    except KeyError:
    encrypted = encrypted + i

Κάτω από τη λέξη word βάζεις τη δεσμευμένη λέξη try: (με άνω και κάτω τελεία).
Επίσης κάτω από τη KeyError: η γραμμή πρέπει να πάει ένα tab δεξιά.
Δηλαδή έτσι:

for i in word:
    try:
        encrypted = encrypted + key[i]
    except KeyError:
        encrypted = encrypted + i
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2568

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
kamar έγραψε:
Βασικά υπάρχουν δυο λάθη:
for i in word:
        encrypted = encrypted + key[i]
    except KeyError:
    encrypted = encrypted + i

Κάτω από τη λέξη word βάζεις τη δεσμευμένη λέξη try: (με άνω και κάτω τελεία).
Επίσης κάτω από τη KeyError: η γραμμή πρέπει να πάει ένα tab δεξιά.
Δηλαδή έτσι:

for i in word:
    try:
        encrypted = encrypted + key[i]
    except KeyError:
        encrypted = encrypted + i

Στο Decrypt πως θα το βαλω ?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2570

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Πρακτικά κάνεις το ίδιο που κάνεις στην crypto. Για περισσότερες λεπτομέρειες ρίξε μια ματιά εδώ
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2572

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
Κατάλαβα πως λειτουργεί !!

Για κοίτα αυτό να μου πεις αν είναι οκ εγώ το βλέπω μια χαρά
def crypto(word):
    key = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u',
       'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c',
       'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k',
       'y':'l', 'z':'m', 'A':'N', 'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S',
       'G':'T', 'H':'U', 'I':'V', 'J':'W', 'K':'X', 'L':'Y', 'M':'Z', 'N':'A',
       'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F', 'T':'G', 'U':'H', 'V':'I',
       'W':'J', 'X':'K', 'Y':'L', 'Z':'M'}
    encrypted = ''
    for i in word:
        try:
            encrypted = encrypted + key[i]
        except KeyError:
            encrypted = encrypted + i
 
    return encrypted
 
 
word=input('Dwste leksi/frasi gia kriptografisi/apokriptografisi : ')
leksi=crypto(word)
print(leksi) 
#-----------------------------------------------------------------------------------
 
def decrypto(leksi):
 
    #( PRIN TIN ALLAGI ) ite to allakseis i oxi einai to idio dioti ('a':'n'='n':'a') kai pali legontas den iparxei provlima !
    #key = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u',
    #'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c',
    #'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k',
    #'y':'l', 'z':'m', 'A':'N', 'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S',
    #'G':'T', 'H':'U', 'I':'V', 'J':'W', 'K':'X', 'L':'Y', 'M':'Z', 'N':'A',
    #'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F', 'T':'G', 'U':'H', 'V':'I',
    #'W':'J', 'X':'K', 'Y':'L', 'Z':'M'}
 
    key = {'n':'a', 'o':'b', 'p':'c', 'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h',
    'v':'i', 'w':'j', 'x':'k', 'y':'l', 'z':'m', 'a':'n', 'b':'o', 'c':'p',
    'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u', 'i':'v', 'j':'w', 'k':'x',
    'l':'y', 'm':'z', 'N':'A', 'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F',
    'T':'G', 'U':'H', 'V':'I', 'W':'J', 'X':'K', 'Y':'L', 'Z':'M', 'A':'N',
    'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S', 'G':'T', 'H':'U', 'I':'V',
    'J':'W', 'K':'X', 'L':'Y', 'M':'Z'}
 
    decrypted = ''
    for i in leksi:
        try:
            decrypted = decrypted + key[i]
        except KeyError:
            decrypted = decrypted + i
 
    return decrypted
 
leksi2=decrypto(leksi)
print(leksi2) 
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2573

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Μια χαρά λειτουργεί.
Αυτό που θα σου επισημάνω ξανά, δες το ποστ, είναι ότι μπορείς να βάλεις το key, εκτός των συναρτήσεων ώστε να χρησιμποιείται και από τις δυο συναρτήσεις και η decrypto να δημιουργεί δυναμικά, το αντίστροφο λεξικό.
Μειονέκτημα: Καθυστερεί τη συνάρτηση.
Πλεονέκτημα: Αλλάζεις ή συμπληρώνεις το key και δεν χρειάζεται να σπας το κεφάλι σου, με χειροκίνητες αλλαγές.


key = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u',
       'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c',
       'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k',
       'y':'l', 'z':'m', 'A':'N', 'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S',
       'G':'T', 'H':'U', 'I':'V', 'J':'W', 'K':'X', 'L':'Y', 'M':'Z', 'N':'A',
       'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F', 'T':'G', 'U':'H', 'V':'I',
       'W':'J', 'X':'K', 'Y':'L', 'Z':'M'}
 
def crypto(word):
 
    encrypted = ''
    for i in word:
        try:
            encrypted = encrypted + key[i]
        except KeyError:
            encrypted = encrypted + i
 
    return encrypted
 
 
word=input('Dwste leksi/frasi gia kriptografisi/apokriptografisi : ')
leksi=crypto(word)
print(leksi) 
#-----------------------------------------------------------------------------------
 
def decrypto(leksi):
 
 
    reverse_key = dict()
    for k, v in key.items():
        reverse_key[v] = k
 
    decrypted = ''
    for i in leksi:
        try:
            decrypted = decrypted + reverse_key[i]
        except KeyError:
            decrypted = decrypted + i
 
    return decrypted
 
leksi2=decrypto(leksi)
print(leksi2) 

Τροφή για σκέψη: Θα μπορούσες να συγχωνεύσεις τις δυο συναρτήσεις, σε μια.
Γράφω σε Python 3
Τελευταία διόρθωση: 9 Χρόνια 4 Μήνες πριν από kamar. Αιτία: Διόρθωση συντακτικού λάθους
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια με ασκήσεις python (Απλες 1ου Ετους) 9 Χρόνια 4 Μήνες πριν #2574

  • strack147
  • Το Άβαταρ του/της strack147
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 36
  • Ληφθείσες Ευχαριστίες 1
Ναι τα ξέρω όλα αυτά απλώς το έκανα έτσι επειδή μου είπε να αντριστρέψω το λεξικό .. αλλά ειναι το ίδιο δεν κατάλαβα γιατί μου το είπε το έφτιαξα τώρα με ενα ας πει οτι θέλει :Ρ
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.375 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου