Συζητήσεις για το μάθημα και ανακοινώσεις

31

 
Picture of ANDREAS KOFIDIS
31
by ANDREAS KOFIDIS - Monday, 13 November 2017, 7:58 PM
 

Tο πρόγραμμα μου για την 31 είναι το εξής:

s = input("Δώστε το string s: ")
def s2l(s):

x = []
i =1
for i in s:
x.append(i)
x = x[1:-1]
return x
print(s2l(s))

Ο tester μου τα βγάζει όλα λάθος ενώ input output είναι ίδια εκτός από τους διπλούς απόστροφους που σε εμένα είναι μονοί.

πχ. input : "aabcd12322"

      output :

['a', 'a', 'b', 'c', 'd', '1', '2', '3', '2', '2']

Έχει σημασία αυτό;

Ευχαριστώ
Picture of Stauros Komineas
Re: 31
by Stauros Komineas - Monday, 13 November 2017, 8:24 PM
 

Η εντολή x = x[1:-1] δεν έχει θέση εκεί που έχει μπει και δημιουργεί πρόβλημα (το αποτέλεσμα είναι μία κενή λίστα). Αν παραληφθεί το πρόγραμμα θα δώσει σωστό αποτέλεσμα.

Επίσης, η εντολή i=1 είναι άσκοπη.

Οι μονές ή διπλές απόστροφοι είναι ισοδύναμες για τον ορισμό ενός string.

Picture of ANDREAS KOFIDIS
Re: 31
by ANDREAS KOFIDIS - Monday, 13 November 2017, 8:41 PM
 

Μα δεν μου επιστρέφει κενή λίστα. Απλά διαγράφει το πρώτο και τελευταίο στοιχείο που είναι <">


Picture of ANDREAS KOFIDIS
Re: 31
by ANDREAS KOFIDIS - Monday, 13 November 2017, 9:01 PM
 

Εντάξει το βρήκα. Στο input ο χρήστης δεν πρέπει να δίνει τις απόστροφους.

Ευχαριστώ

Picture of Μιχάλης Κολουντζάκης
Re: 31
by Μιχάλης Κολουντζάκης - Monday, 13 November 2017, 9:04 PM
 

Άλλο πρόγραμμα τρέχεις, Το πρόγραμμα του οποίου τον κώδικα γράφεις παραλείπει το πρώτοο στοιχείο της λίστας.