CyberStars

Input

Până acum, toate valorile din programele noastre au fost scrise de noi, programatorul. Noi am ales nume = "Tommy Vercetti", noi am ales varsta = 42. Dar ce-ar fi dacă vrem ca utilizatorul să aleagă? Ce-ar fi dacă vrem ca programul să ne întrebe ceva și să reacționeze în funcție de ce am tastat?

Aici intră în joc input()

nume = input()
print(f"Salut, {nume}!")

Rulăm acest cod, tastăm ceva (de exemplu Lance) și apăsăm Enter. Programul va afișa

Salut, Lance!

Programul s-a oprit și a așteptat după noi. În momentul în care Python vede input(), oprește programul și așteaptă ca utilizatorul să tasteze ceva. După ce apăsăm Enter, ce am tastat este stocat în variabila nume

Putem de asemenea să-i dăm utilizatorului un indiciu despre ce vrem să tasteze

nume = input("Cum te cheama? ")
print(f"Salut, {nume}!")

Acel mic mesaj din input("...") este afișat utilizatorului înainte ca programul să aștepte. Se numește prompt


Acum, iată ceva chiar important. Rulează acest cod

varsta = input("Varsta ta: ")
anul_urmator = varsta + 1
print(anul_urmator)

Vei primi o eroare. De ce? Pentru că input() returnează întotdeauna un șir de caractere (string), chiar dacă utilizatorul tastează numere. Deci varsta este "18" (text), nu 18 (număr). Și nu putem face "18" + 1, deoarece unul este text și celălalt este număr

Ca să rezolvăm asta, îi spunem lui Python: „salut, ia acest text și transformă-l într-un număr"

varsta = int(input("Varsta ta: "))
anul_urmator = varsta + 1
print(anul_urmator)

int() este o funcție care convertește textul într-un întreg (un număr întreg). Acum varsta este cu adevărat 18, și 18 + 1 = 19 funcționează perfect

Dacă utilizatorul a tastat ceva cu zecimale precum 1.75, am folosi float() în schimb

inaltime = float(input("Inaltimea ta: "))
print(inaltime)

Misiune: Înregistrarea Echipajului

Stația spațială înregistrează fiecare nou membru al echipajului. Scrie un program care întreabă numele membrului echipajului, apoi vârsta lui, și afișează un mesaj de bun venit.

Ține minte că input() returnează întotdeauna un șir de caractere (string), așa că trebuie să transformi vârsta într-un număr cu int() înainte să poți să-i aduni 1.

Intrare:

  • numele membrului echipajului
  • vârsta membrului echipajului

Ieșire

O linie: Bun venit la bord, apoi numele, apoi ! Ai vârsta, apoi . Anul viitor vei avea vârsta plus unu, apoi un .

Exemplu

Dacă utilizatorul tastează

Cortez
60

programul ar trebui să afișeze

Bun venit la bord, Cortez! Ai 60. Anul viitor vei avea 61.