1-misol
Keling, avval asosiy misolni ko'rib chiqaylik.
Yuqoridagi dasturning chiqishi timeit.timeit() funksiyasiga o'tkazilgan kod parchasining 10000 takrori uchun bajarilish vaqti (soniyalarda) bo'ladi.
Eslatma: E'tibor bering, chiqish bitta iteratsiya emas, balki kod parchasining sonli marta takrorlanishining bajarilish vaqtidir . Yagona iteratsiya uchun. vaqt, chiqish vaqtini raqamga bo'ling .
Dastur juda aniq. Biz qilishimiz kerak bo'lgan narsa kodni timeit.timeit() funksiyasiga string sifatida o'tkazishdir.
Import bayonotlarini va boshqa statik kod qismlarini o'rnatish argumentida saqlash tavsiya etiladi.
2
-misol Keling, yana bir amaliy misolni ko'rib chiqamiz, unda biz ikkita qidiruv texnikasini, ya'ni Ikkilik qidiruv va Chiziqli qidiruvni solishtiramiz .
Bundan tashqari, men bu erda yana ikkita xususiyatni ko'rsataman, timeit.repeat funktsiyasi va dasturimizda allaqachon belgilangan funktsiyalarni chaqirish.
0
Men Python-ni boshlovchiman va birinchi marta foydalanishga harakat tryqildim except. Men foydalanuvchidan butun son qiymatini so'rayapman, lekin agar foydalanuvchi, masalan, qatorni kiritsa, dasturni tugatish o'rniga, butun son berilguncha foydalanuvchidan qayta-qayta so'rashni xohlayman.
Ayni paytda foydalanuvchidan faqat bir marta boshqa javob berish so'raladi, agar u satr bergan bo'lsa, lekin u yana noto'g'ri kiritsa, dastur to'xtaydi.
Quyida men nimani nazarda tutayotganimga misol.
Men Stackoverflow-da shunga o'xshash savollarni ko'rib chiqdim, lekin uni hech qanday taklif bilan tuzata olmadim.
travel_score = 0
while True:
try:
travel_score = int(input("How many times per year do you travel? Please give an integer number"))
except ValueError:
travel_score = int(input("This was not a valid input please try again"))
print ("User travels per year:", travel_score)
1
Muammo shundaki, sizning ikkinchi kiritishingiz uchun istisnolardan foydalanish yo'q.
travel_score = 0
while True:
try:
travel_score = int(input("How many times per year do you travel? Please give an integer number"))
except ValueError:
# if an exception raised here it propagates
travel_score = int(input("This was not a valid input please try again"))
print ("User travels per year:", travel_score)
Buni hal qilishning eng yaxshi usuli, agar foydalanuvchi kiritgan ma'lumotlar noto'g'ri bo'lsa, unga ma'lumot beruvchi xabarni qaytarish va tsiklning boshiga qaytishiga ruxsat berish va shu tarzda qayta so'rashdir: while True:
try:
travel_score = int(input("How many times per year do you travel? Please give an integer number"))
except ValueError:
print("This was not a valid input please try again")
else:
break # <-- if the user inputs a valid score, this will break the input loop
print ("User travels per year:", travel_score)
Do'stlaringiz bilan baham: |