Skip to content

ተጠቃሚውን መጠየቅ፦ input()

2 min read

እስካሁን እያንዳንዱ እሴት የመጣው ከእናንተ፣ ከፕሮግራመሩ ነው። በዚህ ትምህርት መጨረሻ ፕሮግራሞቻችሁ የሚጠቀምባቸውን ሰው ጥያቄ ይጠይቃሉ፤ መልሱንም ይጠቀማሉ። በዚህ ክፍል ውስጥ በጣም የተለመደውን በግ (bug) ታገኛላችሁ፤ ለምን እንደሚፈጠርም ትማራላችሁ፤ ስለዚህ ፈጽሞ አንድ ሰዓት አታባክኑበትም።

ጥያቄ መጠየቅ

input() ጥያቄ ያሳያል፣ ተጠቃሚው መልስ እስኪጽፍ ይጠብቃል፣ የጻፉትንም መልሶ ይሰጣችኋል። ያንን መልስ እንድትጠቀሙበት ስም ትሰጡታላችሁ።

name = input("What's your name? ")
print(f"Selam, {name}!")

In the editor, press Escape then Tab to move on.

One answer per line, given to input() in order.

በቅንፎቹ ውስጥ ያለው ጽሑፍ ይባላል። Python ልክ እንደተጻፈ ያሳየዋል፤ ስለዚህ በክፍት ቦታ (space) ጨርሱት። አለበለዚያ መልሱ ከጥያቄው ጋር ይጣበቃል፦

first = input("Name:")
second = input("Name: ")

In the editor, press Escape then Tab to move on.

One answer per line, given to input() in order.

የሚጻፈው ሁሉ ጽሑፍ ነው

ይህ ፕሮግራም ሁለት ቁጥሮችን ጠይቆ ይደምራቸዋል። ተጠቃሚው 5፣ ከዚያ 3 ይጽፋል። ምን እንደሚያሳይ ገምቱ።

ውጤቱን ገምቱ

Decide before you look. Guessing wrong is how this sticks.

a = input("First number: ")
b = input("Second number: ")
print(a + b)

When it asks, the user types 5, then 3።

Python prints

First number: 5
Second number: 3
53

ተጠቃሚው አሃዞችን ቢጽፍም input() ሁልጊዜ ጽሑፍ ይመልሳል። ስለዚህ a "5"፣ b ደግሞ "3" ነው፤ በጽሑፍ ላይ + ደግሞ ያገናኛቸዋል፦ 53።

8 ጠብቃችሁ ከነበረ ብቻችሁን አይደላችሁም፦ ይህ ጀማሪ ሁሉ ማለት ይቻላል የሚጽፈው በግ ነው። ደረጃ በደረጃ ተከተሉትና እሴቶቹን ተመልከቱ፦ በትምህርተ ጥቅስ ውስጥ ናቸው፤ ስለዚህ ስትሪንጎች ናቸው።

Step through it

Press Next to run one line at a time and watch each name change.

When it asks, the user types 5, then 3።

a = input("First number: ")
b = input("Second number: ")
print(a + b)
Names and their values after line 1
NameValue after line 1
a'5'new
bnot made yet

Output so far

First number: 5

Step 1 of 3

Step 1 of 3. Line 1: a = input("First number: "). a is now '5'. Printed First number: 5.

ደንቡ ቀላል ነው፤ ምንም ልዩ ሁኔታም የለውም፦ input() ሁልጊዜ ስትሪንግ ይመልሳል። ሒሳብ ለመስራት ጽሑፉን በint() ወደ ቁጥር ቀይሩት፤ ለሙሉ ቁጥሮች፦

a = int(input("First number: "))
b = int(input("Second number: "))
print(a + b)

In the editor, press Escape then Tab to move on.

One answer per line, given to input() in order.

int(input(...))ን ከውስጥ ወደ ውጭ አንብቡት፦ input ጽሑፉን ያመጣል፤ ከዚያ int ወደ ሙሉ ቁጥር ይቀይረዋል። በInput ሳጥኑ ውስጥ ያሉትን መልሶች ቀይራችሁ እንደገና አስኪዱት።

ጥያቄ

ተጠቃሚው 20 ይጽፋል። ከage = input() በኋላ type(age) ምንድን ነው?

መቀየሩ ሳይሳካ ሲቀር

int() የሚቀበለው ሙሉ ቁጥር የሚመስል ጽሑፍን ብቻ ነው። ተጠቃሚው ሌላ ነገር ከጻፈ ፕሮግራሙ ይቆማል፦

price = int(input("Price in birr: "))
print(price * 2)

In the editor, press Escape then Tab to move on.

One answer per line, given to input() in order.

ከላይ ባለው የኮድ ሳጥን ውስጥ intን ወደ float ቀይራችሁ እንደገና አስኪዱት፦ 11.0 ያሳያል። በኋላ ከማቆም ይልቅ እንደገና መጠየቅን ትማራላችሁ፦ ክፍል 3 ትክክለኛ መልስ እስኪመጣ መጠየቁን ይቀጥላል፤ ክፍል 7 ደግሞ የፊደል ግድፈት ፕሮግራሙን እንዳያቆመው ይህንን ስህተት ይይዛል።

መልመጃ

ዘንድሮ ስንት ዓመት ይሞላቸዋል?

ስምና የትውልድ ዓመት ጠይቁ፤ ከዚያ ያ ሰው በ2026 ስንት ዓመት እንደሚሞላው አሳዩ። የInput ሳጥኑ Dawit እና 2004ን ይዞ ተዘጋጅቷል።

Your code

# ስሙን፣ ከዚያ የትውልድ ዓመቱን እንደ ቁጥር ጠይቁ

In the editor, press Escape then Tab to move on.

One answer per line, given to input() in order.

መፍትሄውን አሳይ

This is one way to solve it, not the only one. If yours prints the same thing, it works.

name = input("Name: ")
birth_year = int(input("Birth year: "))
age = 2026 - birth_year
print(f"{name} turns {age} in 2026.")

ዋና ዋና ነጥቦች

  • input("Question: ") ጥያቄውን ያሳያል፤ ተጠቃሚው የጻፈውንም ይመልሳል። promptኑን በክፍት ቦታ ጨርሱት።
  • ተጠቃሚው አሃዞችን ቢጽፍም input() ሁልጊዜ ስትሪንግ ይመልሳል። "5" + "3" "53" ነው።
  • ሒሳብ ከመስራታችሁ በፊት ለሙሉ ቁጥሮች በint()፣ ለዴሲማል ቁጥሮች ደግሞ በfloat() ቀይሩ።
  • ቁጥር ያልሆነ ጽሑፍ ValueError ይሰጣል፤ መልዕክቱ በትክክል የተጻፈውን ያሳያል።