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

ΘΕΜΑ: Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος)

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 9 Μήνες πριν #4214

  • Ceres Dea
  • Το Άβαταρ του/της Ceres Dea
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Γράψτε ένα πρόγραμμα το οποίο παίρνει σαν είσοδο μία λίστα και μετακινεί τα μηδενικά στοιχεία στο τέλος της λίστας, χωρίς να αλλάζει την σειρά των άλλων στοιχείων.
Χρησιμοποιήστε το API του punkapi.com για να διαλέξετε μία τυχαία μπύρα την οποία θα στείλετε μέσω email στο email που θα πάρετε από τον χρήστη. Για την αποστολή του email χρησιμοποιήστε το www.mailgun.com/
Θα σας παρακαλούσα να είστε όσο πιο επεξηγηματικοί μπορείτε!!!Ευχαριστώ εκ των προτέρων
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 9 Μήνες πριν #4234

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Που είναι ο κώδικας σου;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4235

  • orient12
  • Το Άβαταρ του/της orient12
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 29
  • Ληφθείσες Ευχαριστίες 3
pmav99 έγραψε:
Που είναι ο κώδικας σου;
δεν νομίζω να υπάρχει κώδικας θέλει απλά να του λύσουμε τις ασκήσεις γράφοντας εμείς τον κώδικα
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4238

  • Ceres Dea
  • Το Άβαταρ του/της Ceres Dea
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Παιδια,μην λυσσατε αν ειναι δυνατον...Λογω καποιων προβληματων δεν μπορεσα να παρακολουθησω εντατικα το μαθημα και ειμαι χαμμενος!!!Δεν ζητησα κωδικα,ζητησα απλα καποια βηματα τα οποια θα με "ξεκλειδωσουν" οπως ειδα οτι ειχε κανει καποιος απο εδω και σε καποιες αλλες αντιστοιχες ασκησεις και με βοηθησαν αρκετα !!!Ελεος,δεν ειναι ολοι οι φοιτητες ιδιοι!!!
Τελευταία διόρθωση: 7 Χρόνια 8 Μήνες πριν από Ceres Dea.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4239

  • GeorgeGrz
  • Το Άβαταρ του/της GeorgeGrz
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 46
Εχω ετοιμασει εναν αλγοριθμο,βεβαια δεν ξερω εαν μπορω να τον δημοσιευσω,προτεινω ομως να το ψαξεις μονος σου και μετα να ζητησεις καποια βοηθεια :cheer:
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4240

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Ceres Dea έγραψε:
Γράψτε ένα πρόγραμμα το οποίο παίρνει σαν είσοδο μία λίστα και μετακινεί τα μηδενικά στοιχεία στο τέλος της λίστας, χωρίς να αλλάζει την σειρά των άλλων στοιχείων.

Θα φτιάξεις συνάρτηση η οποία θα παίρνει ως παράμετρο μία λίστα.
Ας πούμε ότι αυτή η λίστα ονομάζεται
mylist

Στην συνέχεια το πρώτο πράμα που θα κάνεις μέσα στην συνάρτηση θα είναι να
αρχικοποιήσεις μια κενή λίστα, πχ με όνομα newlist.

Θα προσπελάσεις όλα τα στοιχεία της mylist δύο φορές. Την πρώτη φορά θα βλέπεις για στοιχεία
με τιμή 0 και θα τα κάνεις append στην newlist. Την δεύτερη φορά θα κοιτάς για στοιχεία διάφορα
του μηδενός και θα τα κάνεις append στην newlist.


Συγνώμη λάθος μου. Ανάποδα πρέπει να το κάνεις. Πρώτα θα κοιτάς για μη μηδενικά στοιχεία και θα τα κάνεις append στην νέα λίστα και μετά τα μηδενικά στοιχεία.

Τέλος επιστρέφεις την newlist.

Αυτά που σε είπα δουλεύουν αλλά δημιουργείς μια νέα λίστα. Δεν κάνεις αλλαγές στην
παλιά. Αν τώρα ο καθηγητής σου θέλει να πειράζεις την ίδια την λίστα αυτό είναι
ποιο περίπλοκη διαδικασία.

Για το δεύτερο μέρος δεν γνωρίζω.
Τελευταία διόρθωση: 7 Χρόνια 8 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Ceres Dea

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4241

  • Ceres Dea
  • Το Άβαταρ του/της Ceres Dea
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
A=[]
A=input("Enter the items of the list:")
n=len(A)
j=0
for i in A:
if x!=0:
j+=1
B[j]=A

for i in range(j+1,n):
B[j]=0

for i in range(0,n):
A=B
Εκανα κατι τετοιο,αλλα κατι δεν παει καλα...
Τελευταία διόρθωση: 7 Χρόνια 8 Μήνες πριν από Ceres Dea.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4243

  • Ceres Dea
  • Το Άβαταρ του/της Ceres Dea
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
orient12 έγραψε:
pmav99 έγραψε:
Που είναι ο κώδικας σου;
δεν νομίζω να υπάρχει κώδικας θέλει απλά να του λύσουμε τις ασκήσεις γράφοντας εμείς τον κώδικα
Φιλε μου οι προγραμματιστες της κοινοτητας ειναι για να αλληλοβοηθιουνται και οχι για να βγαζουν συμπερασματα,με ολον τον σεβασμο και χωρις καμια προθεση να τσακωθω...Εχω δημοσιευσει πιο κατω τον κωδικα μου,ο οποιος ειναι λαθος και τον ψαχνω περαιτερω!!!Αν θες και μπορεις να βοηθησεις εχει καλως...σε ευχαριστω εκ των προτερων
Τελευταία διόρθωση: 7 Χρόνια 8 Μήνες πριν από Ceres Dea.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4244

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Το x στον κώδικα σου κάντο z και είναι εντάξει
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4246

  • Ceres Dea
  • Το Άβαταρ του/της Ceres Dea
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Theo έγραψε:
Το x στον κώδικα σου κάντο z και είναι εντάξει
Αν αλλαξω μια μεταβλητη τι θα αλλαξει;;;εξαλλου δεν μου χτυπαγε αυτο ως λαθος
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4247

  • GeorgeGrz
  • Το Άβαταρ του/της GeorgeGrz
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 46
Ceres Dea έγραψε:
Theo έγραψε:
Το x στον κώδικα σου κάντο z και είναι εντάξει
Αν αλλαξω μια μεταβλητη τι θα αλλαξει;;;εξαλλου δεν μου χτυπαγε αυτο ως λαθος

Τι λαθος σου εβγαζε?Βασικα το εχω κανει με τελειως διαφορετικο τροπο και δεν ξερω εαν ειναι σωστο,την δουλεια ομως που θες την κανει :P
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4248

  • Ceres Dea
  • Το Άβαταρ του/της Ceres Dea
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
GeorgeGrz έγραψε:
Ceres Dea έγραψε:
Theo έγραψε:
Το x στον κώδικα σου κάντο z και είναι εντάξει
Αν αλλαξω μια μεταβλητη τι θα αλλαξει;;;εξαλλου δεν μου χτυπαγε αυτο ως λαθος

Τι λαθος σου εβγαζε?Βασικα το εχω κανει με τελειως διαφορετικο τροπο και δεν ξερω εαν ειναι σωστο,την δουλεια ομως που θες την κανει :P
Βασικα αρχικα μου εβγαζε λαθος στο input του Α...τωρα στα επομενα,δεν ξερω
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4249

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Ceres Dea έγραψε:
Theo έγραψε:
Το x στον κώδικα σου κάντο z και είναι εντάξει
Αν αλλαξω μια μεταβλητη τι θα αλλαξει;;;εξαλλου δεν μου χτυπαγε αυτο ως λαθος
Στο λέω γιατί σαυτόν τον κώδικα δεν μπορείς να κάνεις κάτι καλύτερο
Εναλλακτικά σβήστο όλο διάβασε για τις λίστες docs.python.org/3/tutorial/introduction.html#lists
docs.python.org/3/tutorial/datastructures.html
και ξαναπροσπάθησε.
Διάβασε και την input γιατί κάτι χάνεις
docs.python.org/3/library/functions.html?highlight=input#input
Τελευταία διόρθωση: 7 Χρόνια 8 Μήνες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4251

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Ceres Dea έγραψε:
A=[]
A=input("Enter the items of the list:")
n=len(A)
j=0
for i in A:
    if x[i]!=0:
	    j+=1
	    B[j]=A[i]
 
for i in range(j+1,n):
    B[j]=0
 
for i in range(0,n):
    A[i]=B[i]
Εκανα κατι τετοιο,αλλα κατι δεν παει καλα...


Πρώτον, το x και το B δεν τα έχεις καν δηλώσει. Άρα αν προσπαθήσεις να τρέξεις το πρόγραμμα
θα σου πετάξει error.

Επιπλέον το A το αλλάζει και από λίστα το μετατρέπεις σε συμβολοσειρά.
Λες ότι:
A=[]
A=input("Enter the items of the list:")

Πρώτα αρχικοποιείς μία κενή λίστα. Και μετά λες Α=input. H input επιστρέφει ένα
string από χαρακτήρες άρα εάν πχ o χρήστης πληκτρολογίσει 1 2 3 το A θα έχει την
τιμή "1 2 3" και όχι [1,2,3].

Για να γεμίσεις μία λίστα με αριθμούς κάνεις το εξής:
Α = []
 
while True:
 
    item = int(input("Δώσε ένα στοιχείο(-1 για τερματισμό):"))
 
    if item == -1:
        break
 
    A.append(item)

Δεύτερον, δεν έχεις καταλάβει πως δουλεύει το for i in A.
To συγκεκριμένο loop περνάει μέσα από
όλα τα στοιχεία της λίστας A και το i κάθε φορά
παίρνει την τιμή του εκάστοτε στοιχείου.
A = [1,2,3]
 
for variable in A:
    print(variable )

Έξοδος:
1
2
3

Πάμε τώρα να δούμε κομμάτι κομμάτι τον κωδικά σου.
Ceres Dea έγραψε:
A=[]
A=input("Enter the items of the list:")
n=len(A)
j=0
for i in A:
    if x[i]!=0:
	    j+=1
	    B[j]=A[i]

Το
x[i] != 0
δεν είναι σωστό! Όπως σου εξήγησα πριν, το i δεν είναι ένας ακέραιος αριθμός
που δηλώνει το index αλλά είναι το εκάστοτε στοιχείο της λίστας a. Επιπλέον μάλλον ήθελες να πεις
A[i] != 0

και για κάποιον λόγο έγγραψες x αντί για A.

Άρα θα έπρεπε να κάνεις κάτι
τέτοιο:
if i != 0:
    #do something.

Μόνο το
for i in range( len(A) ):
    A[i] != 0

Το i παίρνει ακέραιους αριθμούς από 0 έως μέγεθος_λίστας - 1 τους οποίους
μπορείς να χρησιμοποιήσεις ως index για να πάρεις στοιχεία μέσα από μία λίστα.

Την λίστα B δεν την δήλωσες πουθενά! Έπρεπε στην αρχή του κωδικά σου να είχες:
B = []

Επιπλέον για να προσθέσεις ένα νέο στοιχείο στο τέλος της λίστας κάνεις το εξής:
new_item = 2
B.append(new_item)

Δεν χρειάζεται να κάνεις αυτό με το B[j] που σκέφτηκες το οποίο το έκανες και λάθος.

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

Συγνώμη δικό μου λάθος. Νόμιζα ότι ήθελες τα μηδενικά στοιχεία να είναι στην αρχή της λίστας αλλά είπες στο τέλος.
Ceres Dea έγραψε:
for i in range(j+1,n):
    B[j]=0
 
for i in range(0,n):
    A[i]=B[i]

Εντελώς λάθος λογική σε αυτό το σημείο. Εκτός του ότι δεν έχεις δηλώσει την B αλλά ούτε το μέγεθος της που κανονικά θα πρέπει να έχει το ίδιο μέγεθος με την A , το j+1 θα σου δώσει εδώ μια τιμή εκτός ορίων της B άρα το loop δεν θα τρέξει και θα σου πετάξει index out of range error.

Το επόμενο loop παίρνει κάθε στοιχείο της B και το βάζει στην A. Καλό εάν θέλεις η αλλαγές που έκανες
να υπάρχουν στον πίνακα A. Άλλα όπως είπα πολλές φορές το Β δεν το αρχικοποίησες.

Ρώτα με κάτι που δεν καταλαβαίνεις και από αυτά που σε είπα αλλά και από αυτά που σκέφτηκες μόνος σου.

Τώρα που σε είπα κάποια από τα λάθη σου προσπάθησε να το ξανά φτιάξεις. Είσαι αρκετά κοντά στην λύση!!!
Τελευταία διόρθωση: 7 Χρόνια 8 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Ceres Dea

Θελω Βοηθεια με ασκησεις στην python (Πληροφορικη 1ο ετος) 7 Χρόνια 8 Μήνες πριν #4275

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Βάζω 2 λύσεις για το πρώτο πρόβλημα του φίλου και ελπίζω να τις διαβάσει πριν τις αντιγράψει. Για προτάσεις παρατηρήσεις θα χαιρόμουν :)

Η πρώτη κάνει αυτό που ζητάει η άσκηση με τον κλασικό τρόπο
def miden_sto_telos(a):
	for i in a:#διaβάζει τη λίστα 
		if i==0: #και όταν βρεί 0 
			a.remove(i)# το σβήνει 
			a.append(i)# και το βάζει στο τέλος
	return a
Η δεύτερη κάνει μια λίστα χωρίς τα 0 και προσθέτει μια λίστα με 0 (όσα ήταν στην αρχική)
def miden_sto_telos_v2(a):
	return [i for i in a if i]+[0]*a.count(0)
Τελευταία διόρθωση: 7 Χρόνια 8 Μήνες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
  • Σελίδα:
  • 1
  • 2
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.725 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

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