#100ДнівКоду: День — 2

Доброго дня всім, вітаю на другий день 🙂

Ми вже дізналися, що за допомогою функції len() можна обчислити довжину рядків. Однак, коли ми намагаємося обчислити, скільки цифр містить число, виникає помилка:

TypeError: object of type ‘int’ has no len()

Це відбувається тому, що функція len не підходить для цілих чисел. Давайте ближче розглянемо типи даних.

#Типи Даних

  • Рядок (String)
  • Ціле число (Integer): Ціле число
  • Число з плаваючою комою (Float)
  • Логічний тип (Boolean): True або False

Важливо пам’ятати, що програмісти завжди починають рахувати з 0! Оскільки наша основна робота полягає саме з 0 та 1.

#Індексування (Subscripting)

print(“Hello”[2])

l

Також ми можемо використовувати від’ємні індекси! Вони починають рахувати з кінця.

print(“Hello”[-1])

o

Якщо ми намагаємося звернутися до індексу, який перевищує кількість символів:

IndexError: string index out of range

print(“123”+”456")

123456

Причина того, що не всі функції працюють з усіма типами даних, схожа на спробу покласти картоплю фрі в фритюрницю, призначену для іншої їжі. Кожен пристрій має різні входи і працює по-своєму.

Офіційна документація Python доступна на python.org.

print(type(“Hello”))

Str

#Перетворення типів (Type Casting)

print(int(“123”+”456"))

123456

print(int(“abc”+”456"))

Value Error. Як тут пов’язаний abc з цілим числом?

int()

float()

bool()

str()

Цими чотирма функціями ми можемо змінювати типи даних.

Q: print(“Number of letters in your name:” + len(input(“What is your name?”)))

Цей код не працюватиме, оскільки ми не можемо додавати str() та int().

Що ми можемо зробити?

print(“Number of letters in your name:” + str(len(input(“What is your name?”))))

len() приймає рядок (str) як вхід, але повертає ціле число (int).

print(6/3)

2.0

ділення дає результат типу float => це називається неявне перетворення типів (implicit typecasting).

print(6//3)

2 => дві косі риски для ділення цілочисловий результат.

print(2**2)

4 => для операцій з піднесенням до степеня.

round(number, ndigits) — функція для округлення.

#f-strings

дозволяє виводити різні типи даних в одному рядку

print(f”Your score is: {score}”)

Наприкінці дня я створив калькулятор чайових!

print("Welcome to the tip calculator!\n")  
total_bill = float(input("What was the total bill? $"))  
percentage = int(input("How much tip would you like to give? 10, 12 or 15\n"))  
number_of_people = int(input("How manyn"))  
final_bill = round(total_bill * (1 + percentage / 100) / number_of_people, 2)  
print(f"Each person should pay: ${final_bill}")




Перекладено з: [#100DaysOfCodeChallenge: Day — 2](https://medium.com/@bettuncay/100daysofcodechallenge-day-2-650c904e9dfc)

Leave a Reply

Your email address will not be published. Required fields are marked *