• TypeError: unsupported operand type(s) for -: int and str
  • 1. Python dasturlash tili va uning imkoniyatlari. Python




    Download 66,31 Kb.
    bet13/24
    Sana23.02.2024
    Hajmi66,31 Kb.
    #161000
    1   ...   9   10   11   12   13   14   15   16   ...   24
    Bog'liq
    1. Python dasturlash tili va uning imkoniyatlari. Python-fayllar.org

    INPUT() VA SONLAR
    Avvalgi darsimizda foydalanuvchidan ma'lumot olish uchun input() funktsyasidan foydalanishni o'rgandik. Kelin endi shu funktsiya yordamida foydalanuvchidan son olishni ko'raylik. Quyidagi kod foydalanuvchining tug'ilgan yilini so'raydi va uning yoshini hisoblab beradi:
    #1 foydalanuvchining tug'ilgan yilini so'raymiz
    t_yil = input("Tug'ilgan yilingizni kiriting: ")
    #2 foydalanuvchi yoshini xisoblaymiz
    yosh = 2020 - t_yil #
    #3 foydalanuvchi yoshini konsolga chiqaramiz
    print("Siz " + yosh + " yoshda ekansiz")

    Natija: TypeError: unsupported operand type(s) for -: 'int' and 'str'


    Kutilgan natija o'rniga xatolik. Lekin xato qayerda? Dastur tug'ilgan yilimni so'radi, men 1983 deb kiritdim va shu zaxoti xato ro'y berdi va dastur to'xtadi. Xatoni tarjima qilsak son (int) va matn (str) o'rtasida ayirish (-) amalini bajarib bo'maydi deyapti.
    Gap shundaki, input() funktsiyasi har qanday kiritilgan qiymatni matn (string) ko'rinishida qabul qiladi (garchi biz son kiritgan bo'lsak ham). Keling, konsolda t_yil degan o'zgaruvchining turini tekshirib ko'ramiz.

    Ko'rib turganingizdek t_yil o'zgaruvchisi saqlayotgan qiymat str ya'ni matn ekan. Kodimizning 2 va 6-qatorlarini o'zgartiramiz:


    #1 foydalanuvchining tug'ilgan yilini so'raymiz va qiymatni int ga aylantiramiz
    t_yil = int(input("Tug'ilgan yilingizni kiriting: "))
    #2 foydalanuvchi yoshini xisoblaymiz
    yosh = 2020 - t_yil #
    #3 foydalanuvchi yoshini konsolga chiqaramiz
    print("Siz " + str(yosh) + " yoshda ekansiz")
    Natija:
    Tug'ilgan yilingizni kiriting: 1983
    Siz 37 yoshda ekansiz
    Yuqoridagi kodning 2-qatoriga e'tibor bersangiz, biz ikki funktsiyani bir biriga joylab yozdik (int(input()). Aslida, ajratib ham yozishimiz mumkin edi:
    #1.1 foydalanuvchining tug'ilgan yilini so'raymiz
    t_yil = input("Tug'ilgan yilingizni kiriting: ")
    #1.2 t_yil o'zgaruvchini int ga aylantiramiz
    t_yil = int(t_yil)
    #2 foydalanuvchi yoshini xisoblaymiz
    yosh = 2020 - t_yil #
    #3 foydalanuvchi yoshini konsolga chiqaramiz
    print("Siz " + str(yosh) + " yoshda ekansiz")



    Download 66,31 Kb.
    1   ...   9   10   11   12   13   14   15   16   ...   24




    Download 66,31 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    1. Python dasturlash tili va uning imkoniyatlari. Python

    Download 66,31 Kb.