Astu Coding
142 subscribers
8 photos
4 videos
3 files
1 link
Download Telegram
Forwarded from Astu Techs
String

ይሄ የዳታ አይነት ደግሞ ጽሑፍ(Text) ምናስቀምጥበት/ የጽሑፍ Data type ነው።

- " " ወይም ' ' እንጠቀማለን።

text = "Hello, World"
text1 = 'Hello, World'
print(text)
print(text1)
print(type(text))
print(type(text1))

Output
Hello, World
Hello, World
<class 'str'>
<class 'str'>

የሚወከለውም str በሚባል built-in function ነው።
Forwarded from Astu Techs
ክፍል ፬

📱 Python Operators

ፓይተን ውስጥ ስሌት ለምስራት የምንጠቀምባቸው 7 አይነት Operatorኦች አሉ።

1. Arithmetic

2. Relational

3. Assignment

4. Logical

5. Membership

6. Identity

7. Bitwise

በመባል ይታወቃሉ
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Astu Techs
Astu Techs
ክፍል ፬ 📱 Python Operators ፓይተን ውስጥ ስሌት ለምስራት የምንጠቀምባቸው 7 አይነት Operatorኦች አሉ። 1. Arithmetic 2. Relational 3. Assignment 4. Logical 5. Membership 6. Identity 7. Bitwise በመባል ይታወቃሉ
Arithmetic Operator

ውስጡ የያዛቸው፦ +, -, *, /, **, // ና % ናቸው።

Addition +

1. ቁጥሮችን ለመደመር
2. ለ String concatenation  እንጠቀማለን

print(1+2) # Output -> 3
print(5+3) # Output -> 8

String Concatenation
print("Hello" + ", World") # Output -> Hello, World

text = "My name is "
name = "Abebe"

print(text+name) # Output -> My name is Abebe

Subtraction -

ከአንድ ቁጥር ላይ ሌላ ቁጥር ለመቀነስ
print(5-1) # Output -> 4
print(10-2) # Output -> 8

Multiplication *

1. ቁጥሮችን ለማባዛት
2. String or  List or Tuple ለማባዛት(ለመደጋገም)

print(5*2) # Output -> 10
print(2*3) # Output -> 6


print("h"*5) # Output -> hhhhh
print("hello"*2) # Output -> hellohello
Forwarded from Astu Techs
Astu Techs
Arithmetic Operator ውስጡ የያዛቸው፦ +, -, *, /, **, // ና % ናቸው። Addition + 1. ቁጥሮችን ለመደመር 2. ለ String concatenation  እንጠቀማለን print(1+2) # Output -> 3 print(5+3) # Output -> 8 String Concatenation print("Hello" + ", World") # Output -> Hello, World text =…
Division /
ቁጥሮችን ለማካፈል

print(5/2) # Output -> 2.5
print(4/2) # Output -> 2.0

Exponent **

Exponent ለማድረግ እንጠቀምበታለን፤ x**y ማለት፦ ሂሳብ ላይ እንዳለው x the power of y እንደማለት ነው

print(2**3)  # Output -> 8
print(5**2) # Output -> 25

Floor //
ቁጥሮችን አካፍለን ነገር ግን ያገኘነውን ውጤት ያለ ነጥብ(.) ማስቀመጥ(በInteger ማስቀመጥ)

print(5//2) # Output -> 2
print(3//2) # Output -> 1

Modulus %

ቁጥሮችን አካፍለን ቀሪው ስንት እንደሆነ የሚያሰላ ነው።

ለምሳሌ፦ 5%2 ብንል፥ 2 ደራሽ ይሆንና ግን 1 ትቀራለች፤ ስለዚህ 5%2 እኩል ይሆና 1። ሁለቱ ቁጥሮች ተካፍለው ምንም ቀሪ ማይኖር ከሆነ ደግሞ መልሱ 0 ይሆናል።

print(5%2) # Output -> 1
print(3%3) # Output -> 0


2%5 ስንት ሚመጣ  ይመስላችኋል ?
Relational Operator

- ተመሳሳይ የሆኑ የዳታ አይነቶች(Data Types) ለማወዳደር የምንጠቀምበት ሲሆን፥ በውስጡ የያዛቸውም፦ ==, >, <, >=, <=, != ናቸው።

- እነዚህን ኦፕሬተሮች ተጠቅመን የምናገኘው ውጤት(Output) True/False ነው።

📌 Equal To(==)

🔰ኦፕሬተሩ == ሲሆን፣ ሁለትና ከዛ በላይ ተመሳሳይ የሆኑ ዳታዎች(ለምሳሌ ቁጥሮች) እኩል መሆናቸውንና አለመሆናቸውን ለማወቅ የሚረዳን ነው፤ ስንጠቀመውም ውጤቱ True/False ነው።

ለቁጥሮች ስንጠቀም ለምሳሌ፦
x = 5
y = 10
print(x==5) #  True
print(x==y) # False
print(y==10) # True

🔆 አሠራሩን ለመረዳት ያህል፥
x = 5 እንበል።
x==5 ስንልን፦

"የx ዋጋ አምስት ነውን?/ x ከ5 ጋር እኩል ነውን?" ብለን ኮምፒውተርን መጠየቅ ነው፤ ስለዚህ እኩል ከሆነ True ይለናል፥ ካልሆነ ደግሞ False ይለናል።

‼️መረሳት የሌለበት ነገር ቢኖር = እና == በጣም ልዩነት ያላቸው ሁለት የተለያዩ ኦፕሬተሮች ናቸው።

🔅 x = 5 ስንል፥ "የx ዋጋ 5 ይሁን" ብለን ለኮምፒዩተር እየነገርነው ሲሆን፥ በተቃራኒው ደግሞ x == 5 ስንል፥ "የx ዋጋ 5 ነው ወይ?" ብለን ኮምፒውተርን እየጠየቅነው ነው።

ይጥላል ....
1
Astu Coding
Relational Operator - ተመሳሳይ የሆኑ የዳታ አይነቶች(Data Types) ለማወዳደር የምንጠቀምበት ሲሆን፥ በውስጡ የያዛቸውም፦ ==, >, <, >=, <=, != ናቸው። - እነዚህን ኦፕሬተሮች ተጠቅመን የምናገኘው ውጤት(Output) True/False ነው። 📌 Equal To(==) 🔰ኦፕሬተሩ == ሲሆን፣ ሁለትና ከዛ በላይ ተመሳሳይ የሆኑ ዳታዎች(ለምሳሌ ቁጥሮች) እኩል መሆናቸውንና አለመሆናቸውን…
ለString

💡 Stringኦች ስናወዳድር፣ ቁጥሮችን ስናወዳድር ካለው አሠራር ጋር ይለያያል።

ለምሳሌ 5 == 5 ብንል ያለምንም ጥያቄ እውነት ይሆናል፤
"Hi" == "Hi" ስንልስ "ምኑን ከምኑ ሚያወዳድረው? 🤔" የሚል ትልቅ ጥያቄ ያስነሳል፤ እስኪ አሠራሩን በአጭሩ ለማየት እንሞክር።

ሙከራ 1. Stringኦችን ስናወዳድር መጀመሪያ ላይ የሚወዳደረው ተወዳዳሪዎቹ የያዙት የCharchters መጠን/ብዛት ነው። ለምሳሌ
"Hi" == "Hi" ብንል፥ የሁለቱም የCharacters ብዛታቸው 2 ነው፤ ስለዚህ እውነት/True ይሆናል።

በጠቃራኒው ደግም "Hi" == "Hi!" ብንል፥ "Hi" የያዘው Characterኦች 2 ሲሆን፥ "Hi!" ደግሞ 3 ነው(H, i, !)፤ ስለዚህ እኩል አይደሉም።

ሙከራ 2. ሙከራ 1 እውነት ከሆነ፥ ቀጣይ ላይ የሚሆነው ደግሞ፦

🔰 እንደሚታወቀው ሁሉም Charecters የምንላቸው ነገሮች(ቁጥር፣ ፊደላት፣ ሥርዓተ ነጥቦች ወዘተ.) የራሳቸው የሆነ ASCII CODE አሏቸው፤ ኮምፒውተር የሚውቃቸውም በነዚህ ቁጥሮች ነው። ለምሳሌ፦
A 65፣ የB 66፣ የC 67 ... እያለ ይጥላል።

... ስለዚህ ሁለኛው ሙከራ ሚሆነው እያንዳንዱን
String characterኦች የASCII CODE ማወዳደር ነው። እስቲ አሠራሩን እንመልከት ...

"Hi" == "Hy" ብንል፣

ሙከራ 1

ሙከራ 2
፩. ASCII CODE of H == ASCII CODE of  
H

  -> True

ይጥላል ...

፪. ASCII CODE of i == ASCII CODE of y

  -> FALSE

📝 ስለዚህ "Hi" == "Hy" ሐሰት/False ይሆናል ማለት ነው።

text1 = "Hello"
text2 = "hello"
text3 = "Hi"
text4 = "hi"

print(text1 == "Hello") # True
print(text1 == text2) # False
print(text2 == text3) # False
print(text3 == text4) # False
👍1
📌 ጥያቄ የሆነባቹ ነገር ካለ @astutechschat መጠየቅ ትችላላችሁ።

📌 ሐሳብ፣ አስታየት / መስተካከል አለበት ምትሉት ነገር ካለ 👤 @natiprado ላይ ልታደርሱን ትችላላችሁ። 😊
Greater Than (>)
🔅 እንደምናውቀው ሁለት ቁጥሮችን ለማወዳደር ነው።

🔅 ለStringኦችም ሲሆን አሠራሩ ልክ == እንዳለው ነው፤ በ == ፋንታ የሚጠቀመው >ን ነው።

‼️ 5 == "5" ማለት እንችላለን፤ ግን 5 > "5" ማለት አንችልም፤ Error ይሆናል።

print(5 > 1) # True
print(2 > -2) # True
print(1 > 3) # False

Less Than (<)
🔅 ይሄም አሠራሩ ሁሉ ከ > ተመሳሳይ ነው።

print(5 < 6) # True
print(1 < 2) # True
print(3 < 1) # False

Greater Than or Equal to (>=)
🔅 > ጋር የሚለው ነገር ቢኖር እኩል የሆኑ ቁጥሮችን ስናወዳድር የምናገኘው True መሆኑ ነው።

print(5 >= 5) # True
print(5 > 5) # False


Less Than or Equal To (<=)
🔅>= ጋር አሠራራቸው ተመሳሳይ ነው።

print(5 <= 5) # True
print( 5 < 5) # False


🔆 ሁሉም አሠራራቸው ልክ ሒሳብ ላይ እንዳለው ጋር አንድ ነው
Assignment Operators

🔅 በውስጡ የያዛቸው፦ =, +=, -=, *=, **=, /=, //=  እና %= ነው።

እንደምናውቀው የ= ምልክት አንድ አዲስ ተለዋዋጭን ለማወጅ፣ ለማሻሻል የሚረዳን ነው። ሌሎቹ ግን ከዚ በፊት የነበረን ተለዋጭ ላይ አዲስ ዋጋን(Value) እንደየ አውዱ ለመጨመር፣ ለመቀነስ፣ ለማበዛት... ወዘተ. የሚረዱን ናቸው።

እስኪ በምሳሌ እንመልከት፦
age = 18


age ለሚባል ተለዋዋጭ የ18ን ዋጋ ሰጠሁ፤ እናም እንበልና ይህ አage ዋጋ ቋሚ ሳይሆን በየ ጊዜው የሚጨምር ነው፤ ስለዚህ አዲስ ተለዋዋጭ መፍጠር ሳይጠበቅብኝ፥ እንዴት የageን ዋጋ መጨመር እችላለሁ? 🤔

መልሱ ቀላል ነው፤ Assignment Operator መጠቀም 😃

age = 18
print(age) # 18
age += 2
print(age) # 20

age += 2 ይህ ማለት፦
age = age + 2 ማለት ነው

age -= 2 ➡️ age = age - 2
age *= 2 ➡️ age = age * 2
age /= 2 ➡️ age = age / 2
age //=2 ➡️ age = age // 2
age = 2 ➡️ age = age 2
age %= 2 ➡️ age = age % 2

💡ግልፅ ነው?
Logical Operator

🔅 በሁኔታዎች ላይ ማለትም ነገሮች እውነት(True) ወይም ሃሰት(False) መሆናቸው ላይ ተመርኩዞ የሚሰራ ኦፕሬተረ ነው።

🔅ሌላኛው ደግሞ የተለያዩ ሁኔታዎችን ለማጣመር ይረዳናል።

በውስጡም የያዛቸው፦ and, or እና not ናቸው።

‼️ ሶስቱም የፓይተን ቁልፈ-ቃላት(Keywords) ናቸው።

🔆 አሠራራቸው ከታች በምስል ተያየዞ ቀርቧል
Astu Coding
AND # Boolean print(True and True) # True print(True and False) # False print(False and False) # False print(False and True) # False # Numbers print( 5 == 5 and 6 > 1) # True print(7 < 10 and 7 > 6) # True print(6 < 3 and 3 < 2) # False print(4 < 2 and…
OR

# Boolean 

print(True or True) # True
print(True or False) # True
print(False or False) # False
print(False or True) # True

# Numbers
print( 5 == 5 or 6 > 1) # True
print(7 < 10 or 7 > 6) # True
print(6 < 3 or 3 < 2) # False
print(4 < 2 or 2 == 2) # True
Astu Coding
OR # Boolean print(True or True) # True print(True or False) # True print(False or False) # False print(False or True) # True # Numbers print( 5 == 5 or 6 > 1) # True print(7 < 10 or 7 > 6) # True print(6 < 3 or 3 < 2) # False print(4 < 2 or 2 == 2) #…
NOT
# Boolean 

print(not (True and True)) # False
print(not (True and False)) # False
print(not (False and False)) # True
print(not (False and True)) # True

# Numbers
print(not(5 == 5 and 6 > 1)) # False
print(not(7 < 10 and 7 > 6)) # False
print(not(6 < 3 and 3 < 2)) # True
print(not(4 < 2 and 2 == 2)) # True
Bitwise Operator
🔅 ይህ የኦፕሬተር አይነት በተወሰነ መልኩ ከሎጂካል ጋር ተመሳሳይ ነገር ግን በቢት(Bit) ደረጃ የሚሰራ ኦፕሬተር ነው።

🔅 እንዲሰራ የሰጠነውን ቁጥር ወደ ባያናሪ ቁጥር(0 ና 1) በመለወጥ፤ ከስራውም በኋላ ውጤቱን በቁጥር ይነግረናል።

1 = True
0 = False


በውስጡ የያዛቸው፦ &, |, ^, ~, << እና >> ናቸው።

And(&)
🔅 1 & 2 ስንት እንደሆነ እንመልከት ....

1 ወደ ባይናሪ ሲቀየር 0001
2 ወደ ባይናሪ ሲቀየር 0010

ስለዚህ እነዚህን ቁጥሮች ልክ ሎጂክል ኦፕሬተር ላይ እንዳለው and አመዛዝኖ ይሰራል።

0001 & 0010 = 0000
ይሄ ቁጥር ደግሞ 0 ነው። ስለዚህ 1 & 2 = 0 ይሆናል ማለት ነው።

print(1 & 2) # 0001 & 0010 = 0000 = 0
print(3 & 5) # 0011 & 0101 = 0001 = 1
print(6 & 7) # 0110 & 0111 = 0110 = 6
print(9 & 5) # 1001 & 0101 = 0001 = 1
OR (|)
🔅 ሁሉም እንዳልነው ነው፤ አሰራሩ ከ or ልጂካል ኦፕሬተር ጋር ተመሳሳይ ነው።

print(1 | 2) # 0001 | 0010 = 0011 = 3
print(3 | 5) # 0011 | 0101 = 0111 = 7
print(6 | 7) # 0110 | 0111 = 0111 = 7
print(9 | 5) # 1001 | 0101 = 1101 = 13


python

XOR(^)
🔅 ይሄ ደግሞ የ | (OR) ተቃራኒ ነው።
Membership Operator
🔅 አንዱ የአንዱ አባል መሆኑን ለማወቅ የምንጠቀምበት ኦፕሬተር ነው፣ የምንጠቀመውም in የሚባል keyword ነው።
txt = "Hello"
print("H" in txt) # True
print("o" in txt) # True
print("e" in txt) # True
print("w" in txt) # False
print("R" in txt) # False

Identity Operator
🔅 አንዱ ከሌላኛው ጋር በዋጋ እኩ፣ በዳታ አይነት(Data Type) አንድ መሆኑን ለማውቅ የሚያገለግል ኦፕሬተር ነው።
🔅 የምንጠቀው is የሚባል keyword ነው።

〽️ በተወሰነ መልኩ ከ == ጋር አሠራሩ ይመሳሰላል፤። ነገር ግን == የሁለት ነገሮችን እኩሌታ(በዋጋ) ለማወዳደር/ለማወቅ ሲረዳን፤ በሌላ መልኩ ደግሞ is የሁለት ነገሮች እኩሌታ እና ሁለቱም አንድ አይነት Data type መሆናቸውን ለማወቅ ሚረዳን ነው።

ለምሳሌ፦
5 == 5.0 True ነው
5 is 5.0 ግን False ነው።


ምክኒያቱም 5 == 5.0 ስንል እያወዳደርን ያለነው ዋጋቸውን ብቻ ነው፤ ስለዚህ
5 == 5.0 እወነት ነው ማለት ነው። ግን

5 is 5.0 ስንል፥ 1ኛ ዋጋቸውን እያወዳደርን ነው፤ 2ኛ ደግሞ ሁለቱም የአንድ ዳታ ቤተሰብ መሆናቸውን እያጣረን ነው።

5 ከ 5.0 እኩል ቢሆንም፥ ግን ሁለቱም የተለያየ የዳታ አይነት ነው ያለቸው(5 integer, 5.0 ደግሞ float)
ስለዚህ True and False ማለት ደግሞ ውጤቱ False ይሰጠናል ማለት ነው።

x = 10
y = 2
n = None
print(x is 10) # True
print(y is 2) # True
print(n is None) # True
print(x is not 10.0) # True
print(y is not 2.0) # True
print(n is not None) # False
👍1
💡 አስታውስ

🔅 ለዚህ ነው ፓይተን ከሰው ልጅ ቋንቋ ጋር ተቀራራቢ ነው ሚባለው።

x = 10
print(x is 10 and x is not 10.0) # True
የፓይተን ኦፕሬተሮች እነዚህ ናቸው ....

በቀጣይ Sequence Data Types እናያለን
3
Forwarded from Astu Coding
📌 ጥያቄ የሆነባቹ ነገር ካለ @astutechschat መጠየቅ ትችላላችሁ።

📌 ሐሳብ፣ አስታየት / መስተካከል አለበት ምትሉት ነገር ካለ 👤 @natiprado ላይ ልታደርሱን ትችላላችሁ። 😊
Sequence Data Types
🔅 በአጭሩ ይህ የዳታ ታይፕ አይነት፥ የተለያዩ ዳታዎችን(ቁጥሮች፣ ጽሑፎች ወዘተ.) አንድ ላይ ሰብሰብ አድረገን ለመያዝ ይረዱናል።

💢 እንደየ ባሕርያቸውና አገልግሎታቸው በ3 ይከፈላሉ፦

1. List
2. Tuple
3. Set