Ya'ni: a=0 b=1, c=2, d=3, e=4, va hokazo.
Masalan:
>>> hashfun2('apple')
0
>>> hashfun2('dorixona')
3
>>> hashfun2('darslik')
3
Ushbu hash funksiya 2 qadamdan iborat:
Kiritlgan matnning har bir harfini mos tub songa almashtiradi va barcha sonlarni qo'shib yuboradi
Yuqoridagi yig'indini 10 ga bo'ladi va qoldiqni qaytaradi
Masalan bad so'zi uchun hash qiymatini hisoblaymiz:
Tub sonlar a=2, b=3, c=5, d=7, e=11, f=13, g=17, h=19 va hokazo bo'lsa, bad so'zi 3+2+7=12 bo'ladi
bad = 3+2+7=12 va 12%10=2
Masala:
O’zingizni F.I.SH. ni hesh qiymatini qaytaruvchi dastur tuzing?
Dastur kodi:
def heshFunksiya(a):
print(hash(a))
fish = "Ro’ziyeva Maktuba"
heshFunksiya(fish)
c) Bubble sort algoritmi orqali Respublikamizdagi viloyatlar maydonini o’sish tartibida joylashtiring.
Dastur kodi:
viloyat = [
['Qashqadaryo', 28400],
['Samarqand', 16400],
['Fargona', 6800],
['Toshkent', 2941620],
['Namangan', 7900],
['Toshkent shahri', 15300],
['Surxandaryo', 20800],
['Buxoro', 39400],
['Qoraqalpogiston', 160000],
['Xorazm', 6300],
['Jizzax', 20500],
['Navoiy', 111100],
['Andijon', 4200],
['Sirdaryo', 5100]
]
l = len(viloyat)
for i in range(l):
for j in range(i,l):
if viloyat[i][1] > viloyat[j][1]:
temp, viloyat[i][1] = viloyat[i][1], viloyat[j][1]
viloyat[j][1] = temp
temp, viloyat[i][0] = viloyat[i][0], viloyat[j][0]
viloyat[j][0] = temp
Do'stlaringiz bilan baham: |