Home » Articole » Articole » Calculatoare » Programare » Python » Limbajul de programare Python: Intrare și variabile

Limbajul de programare Python: Intrare și variabile

postat în: Python 0

Acum cred că este timpul pentru un program cu adevărat complicat. Iată-l:

print("Halt!")
user_input = input("Who goes there? ")
print("You may pass,",  user_input)

Când eu l-am rulat, iată ce a arătat ecranul meu:

Halt!
Who goes there? Josh
You may pass, Josh

Notă: După rularea codului apăsând F5, shell-ul python va da numai rezultatul:

Halt!
Who goes there?

Trebuie să vă introduceți numele în shell-ul Python, apoi apăsați Enter pentru restul rezultatului.

Desigur, când rulați programul, ecranul dumneavoastră va arăta diferit din cauza instrucțiunii input(). Când ați rulat programul, probabil ați observat (ați rulat programul, nu?) cum a trebuit să vă introduceți numele și apoi să apăsați Enter. Apoi programul a mai tipărit ceva text și, de asemenea, numele tău. Acesta este un exemplu de intrare. Programul ajunge la un anumit punct și apoi așteaptă ca utilizatorul să introducă niște date pe care programul le poate folosi ulterior.

Desigur, obținerea de informații de la utilizator ar fi inutilă dacă nu am avea unde să punem acele informații, și aici intervin variabilele. În programul anterior user_input este o variabilă. Variabilele sunt ca o cutie care poate stoca anumite date. Iată un program pentru a afișa exemple de variabile:

a = 123.4
b23 = 'Spam'
first_name = "Bill"
b = 432
c = a + b
print("a + b is",c)
print("first_name is",first_name)
print("Sorted Parts, After Midnight or",b23)

Și iată rezultatul:

a + b is 555.4
first_name is Bill
Sorted Parts, After Midnight or Spam

Variabilele stochează date. Variabilele din programul de mai sus sunt a, b23, first_name, b, și c. Cele două tipuri de bază sunt șiruri și numere. Șirurile sunt o succesiune de litere, numere și alte caractere. În acest exemplu, b23 și first_name sunt variabile care stochează șiruri. Spam, Bill, a + b is, first_name is, și
Sorted Parts, After Midnight or
sunt șirurile din acest program. Caracterele sunt înconjurate de „or”. Celălalt tip de variabile sunt numerele. Amintiți-vă că variabilele sunt folosite pentru a stoca o valoare, nu folosesc ghilimele (” și ‘). Dacă doriți să utilizați o valoare reală, trebuie să utilizați ghilimele.

value1 == Pim
value2 == "Pim"

Ambele arată la fel, dar în prima Python verifică dacă valoarea stocată în variabila value1 este aceeași cu valoarea stocată în variabila Pim. În a doua, Python verifică dacă șirul (literele reale P,i, și m) sunt aceleași ca în value2.

Atribuire

Deci, avem aceste casete numite variabile și, de asemenea, date care pot intra în variabilă. Computerul va vedea o linie precum first_name = "Bill" și o va citi ca „Pune șirul Bill în caseta (sau variabilă) first_name”. Mai târziu vede afirmația c = a + b și o citește ca „puneți suma a + b sau 123.4 + 432 care este egală cu 555.4 în c”. Partea dreaptă a instrucțiunii (a + b) este evaluată și rezultatul este stocat în variabila din partea stângă (c). Aceasta se numește atribuire și nu trebuie să confundați aici semnul egal al atribuirii (=) cu „egalitatea” în sens matematic (pentru asta va fi folosit == mai târziu).

Iată un alt exemplu de utilizare a variabilelor:

a = 1
print(a)
a = a + 1
print(a)
a = a * 2
print(a)

Și, desigur, iată rezultatul:

1
2
4

Chiar dacă aceeași variabilă apare pe ambele părți ale semnului egal (de exemplu, spam = spam), computerul o citește în continuare ca „Aflați mai întâi datele de stocat și apoi aflați unde se duc datele”.

Încă un program înainte de a încheia acest capitol:

number = float(input("Type in a number: "))
integer = int(input("Type in an integer: "))
text = input("Type in a string: ")
print("number =", number)
print("number is a", type(number))
print("number * 2 =", number * 2)
print("integer =", integer)
print("integer is a", type(integer))
print("integer * 2 =", integer * 2)
print("text =", text)
print("text is a", type(text))
print("text * 2 =", text * 2)

Ieșirea pe care am primit-o a fost:

Type in a number: 12.34
Type in an integer: -3
Type in a string: Hello
number = 12.34
number is a <class 'float'>
number * 2 = 24.68
integer = -3
integer is a <class 'int'>
integer * 2 = -6
text = Hello
text is a <class 'str'>
text * 2 = HelloHello

Observați că number creat cu float(input()) ,int(input()) returnează un număr întreg, un număr fără virgulă zecimală, în timp ce text creat cu input() returnează un șir (poate fi scris ca str(input()), de asemenea). Când doriți ca utilizatorul să introducă o zecimală, utilizați float(input()), dacă doriți ca utilizatorul să introducă un număr întreg utilizați int(input()), dar dacă doriți ca utilizatorul să introducă un șir, utilizați input().

A doua jumătate a programului folosește funcția type() care spune ce tip este o variabilă. Numerele sunt de tip int sau
float
, care sunt prescurtarea pentru integer (întreg) și, respectiv, floating point (virgulă mobilă) (folosite mai ales pentru numere zecimale). Șirurile de text sunt de tipul
str
, prescurtare pentru string (șir). Numerele întregi și flotanții pot fi lucrate prin funcții matematice, șirurile nu. Observați cum atunci când Python înmulțește un număr cu un întreg, se întâmplă lucrul așteptat. Cu toate acestea, atunci când un șir este înmulțit cu un număr întreg, rezultatul este că sunt produse mai multe copii ale șirului (de ex. text * 2 = HelloHello).

Operațiile cu șiruri fac lucruri diferite față de operațiile cu numere. De asemenea, unele operații funcționează numai cu numere (atât numere întregi, cât și numere în virgulă mobilă) și vor da o eroare dacă este folosit un șir. Iată câteva exemple de mod interactiv pentru a arăta mai multe.

>>> print("This" + " " + "is" + " joined.")
This is joined.
>>> print("Ha, " * 5)
Ha, Ha, Ha, Ha, Ha, 
>>> print("Ha, " * 5 + "ha!")
Ha, Ha, Ha, Ha, Ha, ha!
>>> print(3 - 1)
2
>>> print("3" - "1")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'str'
>>> 

Iată lista unor operații cu șir:

Operația Simbol Exemplu
Repetiție * "i" * 5 == "iiiii"
Concatenare + "Hello, " + "World!" == "Hello, World!"

Exemple

Rate_times.py

# This program calculates rate and distance problems
print("Input a rate and a distance")
rate = float(input("Rate: "))
distance = float(input("Distance: "))
time=(distance/ rate)
print("Time:", time)

Exemple de rulări:

Input a rate and a distance
Rate: 5
Distance: 10
Time: 2.0
Input a rate and a distance
Rate: 3.52
Distance: 45.6
Time: 12.9545454545

Area.py

# This program calculates the perimeter and area of a rectangle
print("Calculate information about a rectangle")
length = float(input("Length: "))
width = float(input("Width: "))
Perimeter=(2 * length + 2 * width) 
print("Area:", length * width)
print("Perimeter:",Perimeter)

Exemple de rulări:

Calculate information about a rectangle
Length: 4
Width: 3
Area: 12.0
Perimeter: 14.0
Calculate information about a rectangle
Length: 2.53
Width: 5.2
Area: 13.156
Perimeter: 15.46

Temperature.py

# This program converts Fahrenheit to Celsius
fahr_temp = float(input("Fahrenheit temperature: "))
celc_temp = (fahr_temp - 32.0) *( 5.0 / 9.0)
print("Celsius temperature:", celc_temp)

Exemple de rulări:

Fahrenheit temperature: 32
Celsius temperature: 0.0
Fahrenheit temperature: -40
Celsius temperature: -40.0
Fahrenheit temperature: 212
Celsius temperature: 100.0
Fahrenheit temperature: 98.6
Celsius temperature: 37.0

Exerciții

Scrieți un program care primește 2 variabile șir și 2 variabile numerice de la utilizator, le concatenează (le unește fără spații) și afișează șirurile, apoi înmulțește cele două numere pe o nouă linie.

Soluţie

string1 = input('String 1: ')
string2 = input('String 2: ')
float1 = float(input('Number 1: '))
float2 = float(input('Number 2: '))
print(string1 + string2)
print(float1 * float2)

Include texte din Wikibooks traduse și adaptate de Nicolae Sfetcu

Adobe Photoshop pentru începători
Adobe Photoshop pentru începători

Descoperă-ți potențialul creativ și învață să creezi imagini care vor captiva.

Nu a fost votat $1.99$4.31 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Dictionar
Dicţionar explicativ de termeni din limba engleză – Banking, comerţ electronic, Internet

Extras din studiul privind potentialul pietii din Romania pentru dezvoltarea afacerilor online prin magazine virtuale de comert electronic, realizat de Ministerul Comunicaţiilor şi Tehnologiei Informaţiei. Studiul îşi propune să evalueze piaţa de comerţ electronic din România şi să vină în … Citeşte mai mult

Nu a fost votat $0.00 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Inteligența, de la originile naturale la frontierele artificiale - Inteligența Umană vs. Inteligența Artificială
Inteligența, de la originile naturale la frontierele artificiale – Inteligența Umană vs. Inteligența Artificială

Inteligența: redefinirea frontierelor. Explorarea Inteligenței Umane și Artificiale. Descoperă, învață și imaginează-ți viitorul.

Nu a fost votat $4.99$10.86 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *