1η Εργαστηριακή άσκηση. Λύσεις.

Γράψτε ένα πρόγραμμα το οποίο τυπώνει τις λέξεις BOY ή GIRL ανάλογα αν το όνομα το οποίο θα διαβάσει τελειώνει σε 'os' ή 'ia'.


name = input('Enter your name: ')
if name[-2:] == 'os':
    print('BOY')
elif name[-2:] == 'ia':
    print('GIRL')

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


s = input('Enter a sequence of characters: ')
for c in s:
    if not c in 'aeiou': print(c)
for c in s:
    if c in 'aeiou': print(c)

Γράψτε ένα πρόγραμμα το οποίο μετατρέπει ημέρες σε εβδομάδες. Για παράδειγμα, 12 ημέρες είναι 1 εβδομάδα και 5 ημέρες. Το πρόγραμμά σας θα πρέπει να διαβάζει τον αριθμό των ημερών ως ακέραιο. Δεν χρειάζεται να ελέγξετε αν είναι θετικός.


days = int(input('Enter number of days: '))
weeks = days // 7
print(days, 'days is', weeks, 'week(s) and', days-7*weeks, 'day(s)')

Γράψτε ένα πρόγραμμα το οποίο μετατρέπει εβδομάδες σε χρόνια. Για παράδειγμα, 61 εβδομάδες είναι ένας χρόνος και 9 εβδομάδες. Το πρόγραμμά σας θα πρέπει να διαβάζει τον αριθμό των εβδομάδων ως ακέραιο. Δεν χρειάζεται να ελέγξετε αν είναι θετικός. Ένας χρόνος έχει 52 εβδομάδες.


weeks = int(input('Enter number of weeks: '))
years = weeks // 52
print(weeks, 'weeks is', years, 'year(s) and', weeks-52*years, 'week(s)')

Γράψτε ένα πρόγραμμα το οποίο μετατρέπει δευτερόλεπτα σε ώρες, λεπτά και δευτερόλεπτα. Για παράδειγμα, 7433 δευτερόλεπτα είναι 2 ώρες, 3 λεπτά και 53 δευτερόλεπτα. Το πρόγραμμά σας θα πρέπει να διαβάζει τον αριθμό των δευτερολέπτων ως ακέραιο. Δεν χρειάζεται να ελέγξετε αν είναι θετικός.


secs = int(input('Enter number of seconds: '))
hours = secs // 3600
secs = secs - hours*3600
mins = secs // 60
secs = secs - mins*60
print(hours, mins, secs)

Γράψτε ένα πρόγραμμα στο οποίο θα εισάγεται μία ακολουθία χαρακτήρων και θα μετράει τον αριθμό των χαρακτήρων εκτός από τα ερωτηματικά ('?') και τις τελείες ('.'). Να τυπώνεται ένα κατάλληλο μήνυμα.


s = input('Enter a string: ')
k = 0
for c in s:
    if c != '?' and c != '.': k += 1
print('Number of characters different for \'?\' and \'.\':', k)

Γράψτε ένα πρόγραμμα το οποίο διαβάζει μια ακολουθία χαρακτήρων και τυπώνει τον αριθμό των χαρακτήρων που περιέχονται στην ακολουθία χαρακτήρων 'mariapentagiotisa'.


s = input('Enter a string: ')
t = 'mariapentagiotisa'
k = 0
for c in s:
    if c in t: k += 1
print('Number of characters of', s, 'common with', t, ':', k)

Γράψτε εντολές που τυπώνουν το μήνυμα ΝΑΙ αν η ακολουθία χαρακτήρων s περιέχει περισσότερα φωνήεντα παρά σύμφωνα. Τα φωνήεντα είναι τα a, e, i, o, u.


s = input('Enter a string: ')
kv = 0
for c in s:
    if c in 'aeiou': kv += 1
if 2*kv > len(s):
    print('NAI')

Γράψτε ένα πρόγραμμα στο οποίο θα εισάγεται μία συμβολοσειρά και θα μετράει πόσους χαρακτήρες έχει η συμβολοσειρά εκτός από τα κενά και τις τελείες.


s = input('Enter a string: ')
n = 0
for c in s:
    if c == ' ' or cs == '.': n += 1
print('Number of characters other than blanks and dots:', n)

Γράψτε ένα πρόγραμμα στο οποίο θα γίνεται εισαγωγή δεδομένων (συμβολοσειρά) και θα μετράει πόσοι από τους χαρακτήρες που εισήχθηκαν είναι αριθμητικά ψηφία.


s = input('Enter a string: ')
n = 0
for c in s:
    if c in '0123456789': n += 1
print('Number of digits:', n)

Γράψτε ένα πρόγραμμα το οποίο θα ελέγχει αν η εξίσωση $2 x^2 + 3 x - 1 = 0$ έχει μία (μόνο) ρίζα μεταξύ δύο αριθμών, οι οποίοι θα πρέπει να εισάγονται στο πρόγραμμα. Τέλος το πρόγραμμα θα πρέπει να τυπώνει ένα ανάλογο μήνυμα.


a = float(input('Left endpoint: '))
b = float(input('Right endpoint: '))
if a < b:
    fa = 2*a**2 + 3*a - 1
    fb = 2*b**2 + 3*b - 1
    if fa*fb < 0:
        print('There is at least one zero between', a, 'and', b)