Skip to content

ቁጥሮችና ሒሳብ

3 min read

Python በጣም ጥሩ ካልኩሌተር ነው፤ ግን ጥቂቶቹ operators እንደ ስልካችሁ ካልኩሌተር አይሰሩም። በዚህ ትምህርት መጨረሻ Python የሚጠቀምባቸውን ሁለት ዓይነት ቁጥሮች፣ ሰባቱንም የሒሳብ operators፣ እና ከገንዘብ ጋር ስትሰሩ ዋጋ ያላቸውን አስገራሚ ነገሮች ታውቃላችሁ።

ሁለት ዓይነት ማካፈል

አራት መስመሮች፣ አራት ዓይነት ማካፈል በሚባል ደረጃ። እያንዳንዳቸው ምን የሚያሳዩ ይመስላችኋል? ጻፉት፤ ከዚያ ግለጡት።

ውጤቱን ገምቱ

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

print(7 / 2)
print(7 // 2)
print(7 % 2)
print(10 / 2)

Python prints

3.5
3
1
5.0

/ መደበኛው ማካፈል ነው፤ መልሱ ሙሉ ቢሆንም እንኳ ሁልጊዜ የአስርዮሽ ነጥብ ያለው ቁጥር ይሰጣል፦ 10 / 2 5.0 ነው። // ያካፍልና ሙሉውን ክፍል ብቻ ያስቀራል፤ % ደግሞ ቀሪውን ይሰጣል፦ 7 ማለት 2 × 3 ሲሆን 1 ይቀራል።

Python ሁለት ዓይነት ቁጥሮች አሉት። እንደ 7 እና 250 ያሉ ሙሉ ቁጥሮች ናቸው። እንደ 3.5 ወይም 5.0 ያሉ የአስርዮሽ ነጥብ ያላቸው ቁጥሮች ደግሞ ናቸው። 5 እና 5.0 በዋጋ እኩል ናቸው፤ ግን የተለያዩ ዓይነት ቁጥሮች ናቸው፤ / ደግሞ ሁልጊዜ ዴሲማል ቁጥር ይሰጣል።

ጥያቄ

print(10 / 2) ምን ያሳያል?

እነሆ ሁሉም operators በአንድ ፕሮግራም ውስጥ። አስኪዱት (run)፤ ከዚያ ቁጥሮቹን ቀይሩ።

print(12 + 5)
print(12 - 5)
print(12 * 5)
print(12 / 5)
print(12 // 5)
print(12 % 5)
print(10 ** 3)

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

** «ኃይል» ማለት ነው፦ 10 ** 3 ማለት 10 × 10 × 10 ነው።

print(2 ^ 3)
print(2 ** 3)

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

የትኛው ክፍል ቀድሞ ይሰላል?

Python በትምህርት ቤት የተማራችሁትን ቅደም ተከተል ይከተላል፦ መጀመሪያ **፣ ከዚያ *፣ /፣ // እና %፣ ከዚያ + እና -። ቅንፎች ደግሞ ከሁሉም በፊት ይቀድማሉ።

ውጤቱን ገምቱ

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

print(2 + 3 * 4)
print((2 + 3) * 4)

Python prints

14
20

በመጀመሪያው መስመር 3 * 4 ቀድሞ ይሰላል፤ ከዚያ 2 +። በሁለተኛው መስመር ያሉት ቅንፎች Python መጀመሪያ እንዲደምር ያደርጉታል።

አንድ ታክሲ ለመነሻ 50 ብር፣ በኪሎ ሜትር ደግሞ 12 ብር ያስከፍላል። ለ6 ኪ.ሜ ጉዞ ሁለቱም 122 ይሰጣሉ፤ ሁለተኛው ግን ለማንበብ ይቀላል። እርግጠኛ ካልሆናችሁ ቅንፍ ጨምሩ።

print(50 + 12 * 6)
print(50 + (12 * 6))

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

ቀሪዎች ይጠቅማሉ

// እና % ጥንድ ሆነው ይሰራሉ። 1,275 ብር አላችሁ እንበል፤ በ100 ብር ኖቶች ልትቀይሩት ትፈልጋላችሁ። // የሙሉ ኖቶቹን ብዛት ይሰጣል፤ % ደግሞ የሚቀረውን።

money = 1275
notes = money // 100
left = money % 100
print(notes, "notes of 100 birr")
print(left, "birr left over")

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

moneyን በራሳችሁ መጠን ቀይሩት፤ ወይም ለ200 ብር ኖቶች 100ን ወደ 200 ቀይሩት።

Python የማይቀበለው ብቸኛ ማካፈል በዜሮ ማካፈል ነው፦

ዴሲማል ቁጥሮች ቅርብ ናቸው እንጂ ትክክል አይደሉም

ይህንን ሞክሩ። ለመጀመሪያ ጊዜ ሁሉንም ሰው ያስገርማል።

print(0.1 + 0.2)

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

ኮምፒውተሮች ዴሲማል ቁጥሮችን በbinary ያስቀምጣሉ፤ እንደ 0.1 ያሉ አብዛኞቹ የአስርዮሽ ክፍልፋዮች ደግሞ በbinary በትክክል ሊጻፉ አይችሉም፤ ልክ 1/3 በአስርዮሽ በትክክል ሊጻፍ እንደማይችል (0.3333…)። ስለዚህ ዴሲማል ቁጥሮች ለትክክለኛው እሴት በጣም ቅርብ ናቸው፤ ግን ሁልጊዜ በትክክል እሱ አይደሉም።

ለገንዘብ ይህ ዋጋ አለው። ሁለት ቀላል ደንቦች፦ ዋጋዎችን ስትደምሩ በሳንቲም (ሙሉ ቁጥሮች) ቁጠሩ፤ ወይም ውጤቱን ስታሳዩ አጠጋጉ። round(value, 2) ወደ ሁለት የአስርዮሽ ቦታዎች ያጠጋጋል።

# 10 ሳንቲም እና 20 ሳንቲም፣ እንደ ሙሉ ቁጥሮች ተቆጥረው
print(10 + 20)
# 0.1 ብር እና 0.2 ብር፣ ሲታዩ ተጠጋግተው
print(round(0.1 + 0.2, 2))

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

round አንድ ተጨማሪ አስገራሚ ነገር አለው። ገምቱት።

ውጤቱን ገምቱ

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

print(round(2.5))
print(round(3.5))

Python prints

2
4

አንድ ቁጥር በትክክል መሀል ላይ ሲሆን round ወደ ቅርቡ ጥንድ (even) ቁጥር ይሄዳል። 2.5 ወደ 2 ይወርዳል፤ 3.5 ደግሞ ወደ 4 ይወጣል። ብዙ ጊዜ banker's rounding ይባላል፦ በብዙ ማጠጋጋቶች ውስጥ ድምሮችን ሁልጊዜ ወደ ላይ ከመግፋት ይከላከላል።

አንድ የመጨረሻ ነገር፣ ደግሞም ጥሩ ነገር፦ የPython ሙሉ ቁጥሮች የተወሰነ የመጠን ገደብ የላቸውም።

print(2 ** 100)

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

ይህ ባለ 31 አሃዝ ቁጥር ነው፤ Python ደግሞ እያንዳንዱን አሃዝ በትክክል ያገኘዋል።

መልመጃ

የታክሲ ክፍያ ማስያ

አንድ ታክሲ የመነሻ ክፍያ 50 ብር፣ በኪሎ ሜትር ደግሞ 14 ብር ያስከፍላል። ለመነሻ ክፍያው፣ ለኪሎ ሜትር ዋጋውና ለርቀቱ፣ ማለትም 8.5 ኪ.ሜ፣ ስሞችን ስጡ። ከእነዚያ ስሞች ክፍያውን አስሉና አሳዩት።

Output
Fare: 169.0 birr

Your code

# የመነሻ ክፍያ፣ የኪሎ ሜትር ዋጋ እና ርቀት፣ ከዚያ ክፍያው

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

መፍትሄውን አሳይ

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

base_fare = 50
price_per_km = 14
distance = 8.5
fare = base_fare + price_per_km * distance
print("Fare:", fare, "birr")

ዋና ዋና ነጥቦች

  • Python ሙሉ ቁጥሮች (int) እና የአስርዮሽ ነጥብ ያላቸው ቁጥሮች (float) አሉት።
  • / ሁልጊዜ ዴሲማል ቁጥር ይሰጣል (10 / 2 5.0 ነው)፤ // ሙሉውን ክፍል ያስቀራል፤ % ደግሞ ቀሪውን ይሰጣል።
  • ** ኃይል ነው። ^ አይደለም፤ ደግሞም አያስጠነቅቃችሁም።
  • ማባዛትና ማካፈል ከመደመርና ከመቀነስ በፊት ይሰራሉ፤ ቅንፎች ቅደም ተከተሉን ግልጽ ያደርጋሉ።
  • ዴሲማል ቁጥሮች ቅርብ ናቸው እንጂ ትክክል አይደሉም፦ ገንዘብን በሳንቲም ቁጠሩ፤ ወይም ስታሳዩት አጠጋጉ። round መሀል ላይ ያሉትን ወደ ጥንድ ቁጥር ይልካል።