Γπ 3-12-21 ΠΥ

ask5_23

Στο πρωτάθλημα ποδοσφαίρου συμμετέχουν 12 ομάδες
Οι τρεις πρώτες στη βαθμολογία συμμετέχουν στις ευρωπαϊκές διοργανώσεις
ως εξής: η πρώτη συμμετέχει κατευθείαν στους ομίλους champion League, η δεύτερη στον Β προκριματικό γύρο και η τρίτη στον A προκριματικό γύρο.

Να γράψετε πρόγραμμα το οποίο:
1. ΘΑ ΔΙΑΒΑΖΕΙ τα ονόματα των ομάδων και θα τα καταχωρεί στην λίστα ΟMADA.
2.Για κάθε ομάδα θα διαβάζει τον αριθμό των νικών και των ισοπαλιών που πέτυχε στη
διάρκεια του πρωταθλήματος και θα τα καταχωρεί στη λίστες nikes και iso
3. Κάθε νίκη παίρνει 3 βαθμούς και κάθε ισοπαλία 1 βαθμό, τα υπολογίζει και τα καταχωρεί στη λίστα grade με την συνολική βαθμολογία της κάθε ομάδας
4. ΕΜΦΑΝΙΖΕΙ τα ονόματα των ομάδων που θα συμμετάσχουν στις ευρωπαϊκές διοργανώσεις καθώς και ποιες διοργανώσεις είναι

 

 

ΒΠ

Β= 0100 0010

 

BASK           BASK1      BASK2           BASK3          BASK4

Γπ      25-11-2021-      Π.Υ

ask5_20

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

Το κατάστημα θέλει να φτιάξει ένα  πρόγραμμα σε Python το οποίο θα κάνει τα εξής:

  1. Για κάθε ανταλλακτικό , ΔΙΑΒΑΖΕΙ την ονομασία του και τον αριθμό που είναι διαθέσιμα και τα καταχωρεί στις λίστες ΟΝΟΜΑ, και POSO αντίστοιχα.
  2. ΤΑΞΙΝΟΜΕΙ αλφαβητικά την λίστα ONOMA με τις ονομασίες των ανταλλακτικών και ταυτόχρονα αλλάξει τις θέσεις  των αντίστοιχων αριθμών  ανταλλακτικών που είναι διαθέσιμα στη λίστα POSO.
  3. Στη συνέχεια ΔΙΑΒΑΖΕΙ το ανταλλακτικό που θέλει ένας πελάτης να αγοράσει.

α. ΑΝ υπάρχει το ανταλλακτικό  ΕΛΕΓΧΕΙ αν υπάρχουν διαθέσιμα ανταλλακτικά,                      μειώνει τον αριθμό τους κατά ένα (1) και ΕΜΦΑΝΙΖΕΙ τον αριθμό των υπολοίπων.

β. Αν ΔΕΝ υπάρχει διαθέσιμο ανταλλακτικό εμφανίζει το μήνυμα ‘ΥΠΑΡΧΕΙ έλλειψη’.

γ. Αν δεν έχει καταχωρηθεί η ονομασία ενός ανταλλακτικού ΕΜΦΑΝΙΖΕΙ το                                μήνυμα   ’ΔΕΝ ΥΠΑΡΧΕΙ τέτοιο ανταλλακτικό’.

  1. Στο τέλος ΕΜΦΑΝΙΖΕΙ όλες τις ονομασίες των ανταλλακτικών που είναι σε έλλειψη.

ask5 22

 

==============================================================

ask5_21

Ένα κατάστημα Υ/Η αποφάσισε να δώσει μια δωροεπιταγή στο πελάτη που θα κάνει την μεγαλύτερη αγορά της ημέρας.

Να γράψετε πρόγραμμα που:

α. Θα ΔΙΑΒΑΖΕΙ το όνομα του  κάθε πελάτη και το ποσό αγοράς του .

β. Θα ΚΑΤΑΧΩΡΕΙ το όνομα και το ποσό  σε κατάλληλες λίστες.

γ. Θα ΤΕΡΜΑΤΙΖΕΙ αν δοθεί η λέξη “ΤΕΛΟΣ” για όνομα.

δ. Θα ΕΜΦΑΝΙΖΕΙ το όνομα του πελάτη που κέρδισε την δωροεπιταγή.

==================================================

ask5_27

Να γράψετε  πρόγραμμα που θα εισάγει 5 ονόματα στη λίστα ΟΝΟΜΑΤΑ.

  1. Να γράψετε συνάρτηση που θα ΚΑΛΕΙ την λίστα ΟΝΟΜΑΤΑ και θα επιστρέφει True εάν η λίστα είναι ταξινομημένη αλφαβητικά, διαφορετικά θα επιστρέφει False.
  2. Θα εμφανίζει το μήνυμα “Ταξινομημένη λίστα” αν είναι ταξινομημένη αλφαβητικά η λίστα ΟΝΟΜΑΤΑ,  διαφορετικά θα την ταξινομεί και θα εμφανίζει το μήνυμα “Ταξινομήθηκε”

=======================================

Σ.Α.Δ.Ε

στο αρχείο  .html εισάγετε τον παρακάτω κώδικα.

<p>
Δυαδική αναζήτηση<p>
Lista=[1,22,35,41,52,63,77,81]<p>
Name=[‘NIKOS’,’PETROS’,’HLIAS’,’KOSTAS’,’MARIOS’,’SPYROS’,’XRISTOS’,’FOTEINI’]

<form method=”POST” action=”/python”>
{%csrf_token%}
<label for=”key”>Δώσε ένα αριθμό για αναζήτηση:</label><br>

<input type=”text” id=”key” name=”key” value=””><br>

</form>

Tο κλειδί <b>{{key}}</b> {{log}} βρίσκεται στη θέση <b>{{pos}} και είναι του/ης {{name}}</b> <br>
<b>L[{{pos}}]={{key}}</b>

στο urls.py  να γράψετε τα παρακάτω.

path (‘python’,views.python,name=’python’)

στο views.py  να γράψετε τα παρακάτω.

def python(request):
key=0
mid=0
pos=-1
log=”ΔΕΝ”
name=”
if request.method == ‘POST’:
key= int(request.POST[‘key’])
L=[1,22,35,41,52,63,77,81]
Name=[‘NIKOS’,’PETROS’,’HLIAS’,’KOSTAS’,’MARIOS’,’SPYROS’,’XRISTOS’,’FOTEINI’]
first=0
last=len(L)-1
while first<=last and pos==-1:
mid=int((first+last)/2)
if L[mid]==key:
pos=mid
elif L[mid]<key:
first=mid+1
else:
last=mid-1
if pos==-1:
return render(request,’python.html’,{‘log’:log,’key’:key})
else:
name=Name[pos]
return render(request,’python.html’,{‘pos’:pos,’name’:name,’key’:key})

 

 

ask_

Να γραφεί συνάρτηση η οποία θα δέχεται ως όρισμα  μια λίστα με ονόματα αλφαβητικά ταξινομημένα και  ένα όνομα για αναζήτηση. Να χρησιμοποιηθεί ο αλγόριθμος δυαδικής αναζήτησης και αν το όνομα αναζήτησης βρίσκεται μέσα στη λίστα να επιστρέφει την τιμή True,  διαφορετικά αν δεν υπάρχει να επιστρέφει την τιμή False

Δομή επανάληψης

bs 600 337

Δυαδική αναζήτηση

BinarySearch

Κατηγορίες: Χωρίς κατηγορία. Προσθήκη στους σελιδοδείκτες.