Τι θα εμφανιστεί όταν θα γίνει η κλήση της συνάρτησης binarySearch για τη λίστα: L [7, 9, 15, 67, 77, 85];
def binarySearch(array, key): first = 0 last = len(array) - 1 pos = 'Δεν υπάρχει' while first <= last and pos == -1: mid = (first + last) / 2 if array[mid] == key: pos = mid elif array[mid] < key: first = mid + 1 else: last = mid - 1 return pos print binarySearch(L, 5):
def binarySearch(array, key):
first = 0
last = len(array) - 1
pos = 'Δεν υπάρχει'
while first <= last and pos == -1:
mid = (first + last) / 2
if array[mid] == key:
pos = mid
elif array[mid] < key:
first = mid + 1
else:
last = mid - 1
return pos
print binarySearch(L, 5):
2
Δεν υπάρχει
(Το βιβλίο αναφέρει αν δε το βρει pos = -1, αλλά είναι λάθος γιατί η θέση -1 είναι η τελευταία)
5
Ποια είναι η λογική τιμή της έκφρασης:
"a" not in "Python"
Απεριόριστη εμβέλεια:
όλες οι μεταβλητές είναι ορατές και μπορούν να χρησιμοποιούνται σε οποιοδήποτε τμήμα του προγράμματος, ανεξάρτητα από το που δηλώθηκαν
Τι εμφανίζει;
import math def root(number) return math.sqrt(number) print root(root(16))
import math
def root(number)
return math.sqrt(number)
print root(root(16))
4
χμμ... περίμενε να πάρω τη βοήθεια του κοινού!
16
Πόσα περάσματα θα γίνουν για την αύξηση ταξινόμηση της λίστας:
[55, 46, 44, 34, 28, 18, 14, 12, 10, 8, 4]
8
9
11
10
Δίνεται το παρακάτω πρόγραμμα:
def hello( ): print 'Γεια σου κόσμε!' def epanalave_hello( ): hello( ) hello( ) def epanalave_4fores( ): epanalave_hello( ) epanalave_hello( ) epanalave_4fores( )
def hello( ):
print 'Γεια σου κόσμε!'
def epanalave_hello( ):
hello( )
def epanalave_4fores( ):
epanalave_hello( )
epanalave_4fores( )
Πόσες φορές θα εμφανιστεί το μήνυμα 'Γεια σου κόσμε!'
1
Θα εμφανιστεί μήνυμα λάθους
τι θα εμφανίσει;
def find_sum(par1, par2): result = par1 + par2 return result print find_sum(1,'1')
def find_sum(par1, par2):
result = par1 + par2
return result
print find_sum(1,'1')
Μήνυμα λάθους
Υπολογίστε την πράξη σε Pyhton
15 + 2 / 2
Τι θα εμφανιστεί;
print 3 * "Python" * 2
3Pyhton3Pyhton
PythonPythonPythonPythonPythonPython
Python6
import math def root(number) return math.sqrt(number) print root( 2)
print root( 2)
τι ρωτάς; calculator είμαι; Σίγουρα 5
1.4142135623730951
if (1 == 1 or (2 != 1 or 5 == 5)): print "True" else: print "False-0"
if (1 == 1 or (2 != 1 or 5 == 5)):
print "True"
print "False-0"
False-0
True
Σωστά
Ο αλγόριθμος της σειριακή αναζήτησης μπορεί να χρησιμοποιηθεί μόνο σε ταξινομημένες λίστες
Αυξήστε τη μεταβλητή number κατά 50 %
number = number + number * 50
number = number % 50
number = number * 1.5
number = η τιμή που είχε + (50/100.0)*την τιμή που είχε
άρα number = number + 0.5 * number άρα
number = number * 50
Τι θα εμφανίσει;
x = 234 y = 456.7 x, y = y, x print x, y
x = 234
y = 456.7
x, y = y, x
print x, y
Πληκτρολογήστε με ένα κενό ανάμεσα
Έγγινε αντιμετάθεση
τι θα εμφανιστεί;
def changeme(mylist): mylist.append([1, 2, 3, 4]) print "Τιμές μέσα στη συνάρτηση:", mylist return mylist = [10, 20, 30] changeme(mylist) print "Τιμές έξω από τη συνάρτηση:", mylist
def changeme(mylist):
mylist.append([1, 2, 3, 4])
print "Τιμές μέσα στη συνάρτηση:", mylist
return
mylist = [10, 20, 30]
changeme(mylist)
print "Τιμές έξω από τη συνάρτηση:", mylist
τιμές μέσα στη συνάρτηση: [1, 2, 3, 4]
τιμές έξω από τη συνάρτηση: [10, 20, 30]
τιμές μέσα στη συνάρτηση: [10, 20, 30]
τιμές μέσα στη συνάρτηση: [10, 20, 30, [1, 2, 3, 4]]
τιμές έξω από τη συνάρτηση: [10, 20, 30, [1, 2, 3, 4]]
Προσοχή, η λίστα τροποποιήθηκε μέσω της append και η αλλαγή της είναι μόνιμη (οι παράμετροι περνάνε με αναφορά). Δε χρειάζεται ούτε η return (mylist) για να παραμείνει η αλλαγή
[28, 28, 28, 6, 6, 6, 6, 6, 6, 6, 6]
7
3
fruits = ['apple', 'juice'] print 'apple' in fruits
fruits = ['apple', 'juice']
print 'apple' in fruits
False
0
Η εντολή L = [3, 5, 8, 13, 21, 34]
δε δημιουργεί καμιά λίστα απλά αρχικοποιείται ως κενή L=[ ]
δημιουργεί τη λίστα L που περιέχει τα στοιχεία [3, 5, 8 , 13, 21, 34]
δε δημιουργεί λίστα, γιατί πρέπει να προηγηθεί το append
Πόσες φορές θα εκτελεστέι η εντολή x = x - 10
x = 60 while x > 0 : for i in range(2, 7, 2): x = x - 10 print x
x = 60
while x > 0 :
for i in range(2, 7, 2):
x = x - 10
print x
6
Πληκτρολογήστε τα αποτελέσματα των παρακάτω λογικών σχέσεων, με γράμματα T για True και F για False
(Λατινικούς χαρακτήρες για να καταλάβει το Λατινικό Τ από το Ελληνικό Τ )
Διαχωρίστε με κόμμα χωρίς κενό
1 != 0 1 != 1 0 != 1 0 != 0
1 != 0
1 != 1
0 != 1
0 != 0
L = [ 10, 2, 33, 4, 33] maximum = L[0] for number in L: if number > maximum: maximum = number print maximum
L = [ 10, 2, 33, 4, 33]
maximum = L[0]
for number in L:
if number > maximum:
maximum = number print maximum
33
Επιλέξτε το σωστό πρόγραμα το οποίο θα διαβάζει την ηλικία ενός προσώπου. Στη συνέχεια αν είναι κάτω των 18 ετών, να εμφανίζει τη λέξη "ΑΝΗΛΙΚΟΣ", αν είναι 18 και άνω, να εμφανίζει "ΕΝΗΛΙΚΟΣ" και τέλος, αν είναι άνω των 70 ετών, να εμφανίζει τη λέξη "ΗΛΙΚΙΩΜΕΝΟΣ"
age = int(input("Δώσε ηλικία:")) if age < 18 : print "ΑΝΗΛΙΚΟΣ" elif age > 18 : print "ΕΝΗΛΙΚΟΣ" else: print "ΗΛΙΚΙΩΜΕΝΟΣ"
age = int(input("Δώσε ηλικία:"))
if age < 18 :
print "ΑΝΗΛΙΚΟΣ"
elif age > 18 :
print "ΕΝΗΛΙΚΟΣ"
print "ΗΛΙΚΙΩΜΕΝΟΣ"
age = int(input("Δώσε ηλικία:")) if age < 18 : print "ΑΝΗΛΙΚΟΣ" elif age > 18 : print "ΕΝΗΛΙΚΟΣ" elif age > 70 : print "ΗΛΙΚΙΩΜΕΝΟΣ"
elif age > 70 :
age = int(input("Δώσε ηλικία:")) if age < 18 : print "ΑΝΗΛΙΚΟΣ" elif age <= 70 : print "ΕΝΗΛΙΚΟΣ" else: print "ΗΛΙΚΙΩΜΕΝΟΣ"
elif age <= 70 :
word = 'zanneio gymnasio' print word[:7]
word = 'zanneio gymnasio'
print word[:7]
zanneio
gymnasio
zanneio g
Σε μια ταξινομημένη λίστα 1000 στοιχείων, πόσες είναι οι περισσότερες συγκρίσεις που θα χρειαζόταν για να βρεθεί οποιοδήποτε στοιχείο χρησιμοποιοώντας τη δυαδική αναζήτηση;
20
50
Μετατρέψτε την απλή ενοτλή αντιμετάθεσης της Python
a, b = b, a
σε ισοδύναμη:
temp = a a = b b = temp
temp = a
a = b
b = temp
a = b temp = a b = temp
temp = a b = a b = temp
b = a
temp = b a = b a = temp
temp = b
a = temp