Четене на данни

Четене на текст

Програмите, които сме се научили да пишем досега, съдържат цялата необходима информация и винаги работят по същия начин. Когато се нуждаем от програма, която да направи едно и също нещо с различни данни, ще трябва да модифицираме самата програма. Този метод може да бъде доста подходящ, когато промените в данните са малки и не са чести.

Друг начин да накараме нашата програма да се справи с по-разнообразни задачи е да даде възможност за въвеждане на данни. Поставянето на данни в програма по време на нейната работа се извършва с помощта на функцията input (). Тази функция работи, като изчаква потребителя на програмата да въведе нещо (и натиснете клавиша Enter) и след това върне въведения текст в резултат.

Когато стартирате тази програма, за да видите как работи, въведете нещо и натиснете Enter. Опитайте същата програма в средата IDLE или на repl.it.

Програмата работи както е описано, но това поведение на програмата може да бъде объркващо. Ако някой трябва да стартира подобна програма в средата на IDLE, без да знае, че програмата очаква данни, може да изглежда, че компютърът им е заключен, защото нищо не се случва и всъщност програмата просто чакаше въвеждане от клавиатурата.

За да помогнем на потребителя да разбере какво се очаква от тях, можем да използваме и формата на функцията за въвеждане с един текстов аргумент, който ще бъде отпечатан като ръководство за потребителя. Например:

Дали ще изберем една или друга форма на функцията за въвеждане, зависи от целта на програмата. Когато пишем програма, в която други хора ще въвеждат данни, използваме формуляр с аргумент, служещ като инструкция. Когато пишем програма само за лична краткосрочна (може би дори еднократна) употреба, тогава нямаме нужда от инструкции и можем да използваме формуляр без аргументи.

Също така, имайте предвид, че за някои среди, в които се изпълнява програмата, можем да организираме, че данните се четат от друго място, където сме го подготвили предварително, вместо да четем данните от клавиатурата. В такива случаи няма чакане за въвеждане на данните, те се зареждат автоматично и няма нужда да се отпечатва инструкцията. Следователно в такива случаи бихме използвали и входната функция без аргументи.

Четене на числа

Видяхме, че функцията input () връща низ (текст, въведен от потребител). Това означава, че ако имаме нужда от данни от друг тип, трябва да променим типа данни, върнати от функцията input (), от низ до желания тип. Промяната на типа данни се нарича също преобразуване. Например, ако искаме цяло число, тогава трябва да преобразуваме получения текст в цяло число. Ето как да го направите в Python:

Функцията int () преобразува текстова стойност в цяло число. По този начин с командата n = int (s) поставяме цяло число в променливата n, поради което знакът + в програмата представлява добавянето на цели числа. Сумирането се добавя към програмата като доказателство, че n наистина е цяло число (резултатът показва, че стойностите се добавят като числа).

Тъй като функцията за въвеждане връща низ, можем да предадем резултата и директно на функцията int. По този начин избягваме да използваме променливата s и получаваме малко по-къса програма, която прави същото:


За истинско число, int трябва просто да бъде заменен с float, защото функцията float () преобразува текстова стойност в реално число. Например, ако искаме да заредим истинско число и да отпечатаме два пъти това число, програмата може да изглежда така:

или

Вижте какво се случва в тези два примера, когато въведете нещо друго, а не число.

Относно реализациите

Ние видяхме, че когато низ съдържа цяло число или реално число, този низ може да бъде преобразуван в цяло число или реален тип с помощта на функциите int () или float (). От другата страна, цели числа и реални числа винаги могат да бъдат преобразувани в низ. Функцията str () се използва за преобразуване в низ.

Преобразуването на целочислена стойност в истинска се извършва автоматично, когато е необходимо, въпреки че можем да направим това изрично, като извикаме функцията float.

И обратното, когато трябва да преобразуваме истинско число в цяло число, това преобразуване не се извършва автоматично (по причина) и трябва да бъде зададено в програмата чрез извикване на функцията int (). При преобразуване на реално число в цяло число всички десетични знаци от реалното число се отхвърлят, което означава, че закръглянето винаги е теглено ards нула. С други думи, когато стойността на реалното число x не е цяло число, * int (x) * е по-близо до нула от x.

Въпроси

    Q-13: Какво се случва, когато стартираме следващата програма и въведем 2?

    a = input()
    print(a+3)
    
  • The program will print 5
  • Try again.
  • The program will print 23
  • Try again.
  • An error will occur when trying to add a string and a number
  • Correct!

    Q-14: Какво се случва, когато стартираме следващата програма и въведем 2?

    a = input()
    print(a+'3')
    
  • The program will print 5
  • Try again
  • The program will print 23
  • Correct
  • An error will occur when trying to add a string and a number
  • Try again
    Q-15: Съпоставете изразите с резултатите от изчислението. Try again!
  • '2.11'
  • str(2.1) + '1'
  • 3.1
  • float('2.1') + 1
  • error in computation
  • float('2.1') + '1'
  • 2.11
  • float('2.1') + 1/100
  • '3.1'
  • str(2.1 + int('1'))

    Q-16: Кога е цяло число int(a) по-голямо от реалното число a?

  • When the first decimal place of a is greater than or equal to 5
  • Try again.
  • When the number a is negative
  • Correct!
  • When the number a is positive
  • Try again.
  • When the number a is single-digit
  • Try again.
  • When the difference between a and int(a) is greater than 0.5
  • Try again.