داليتي سكول -

Daliaty School

   صفحة البيت  |

 

 

 

 

 

بايثون – ôéúåï – python

 

 

 

 

 

التحويل بين أنواع المتغيرات

(äîøä áéï èéôåñé äîùúðéí)

 

 

التحويل بين أنواع المتغيرات (äîøä áéï èéôåñé äîùúðéí)

 

يمكن تحويل نوع المتغير.

 

 – عملية تقوم بتحول قيمة إلى int (عدد صحيح)

 

 - عملية تقوم بتحول قيمة إلى float (عدد عشري)

 

 - عملية تقوم بتحول قيمة إلى str (نص، سلسلة)

 

 - عملية تقوم بتحول قيمة إلى boolean وهي أما True أوFalse .

 

 

  

 

 

float( ) عملية تحويل قيمة إلى عدد عشري

 

 

a = float(4)    

print (a)    # 4.0   

 

 

b = float(4.5)  

print (b)    # 4.5 

 

 

a = float('4.5')

print (a)    # 4.5  عدد عشري 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  

 

أمثلة إضافية:

 

print (float(57))     # 57.0

print (float(5+7*2))  # 19.0

 

num = 34

print (float(num))    # 34.0

 

num = 123

p = float(num)

print (p)       # 123.0

print (type(p))   # <class 'float'>

 

 

 

  

 

 

 

int( ) عملية تحويل قيمة إلى عدد صحيح

 

 

a = int(4)    

print (a)    # 4   

 

 

b = int(4.5)  

print (b)    # 4 

 

 

 

b = int('456')  

print (b)    # 456 هذا عدد صحيح

 

انتبه: العدد الذي في المخرج 456 هو عدد صحيح له قيمة عددية.

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  

 

أمثلة إضافية:

 

print (int(5.9))        # 5

Print (float(5.0+7*2))  # 19.0 

 

b = 125.0

c = 390.8

print (int(b))   # 125

print (int(c))   # 390 

 

num = 10.0

num = int(num)

print (num)       # 10

print (type(num))   #  <class 'int'>

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  

 

تحويل نص-عددي إلى قيمة عددية

 

شغل الكود التالي، على ماذا حصلت؟

 

x = '3'

y = '5'

print (x + y)      # 35

 

سوف نحصل على 35،  لأن القيم هي نصوص، العملية + دمجت النصين.

 

بالنسبة للمثال السابق، كي تنفذ عملية الجمع بين القيمتين نحولهما إلى أعداد:

 

x = '3'

y = '5'

print (int(x) + int(y))     # 8

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  

 

شغل الكود التالي، على ماذا حصلت؟

 

x = '20'

y = '18.5'

print (x - y)

 

سوف نحصل على رسالة خطأ.  لا يجوز استعمال عملية الطرح بين النصوص.

 

نصحح الكود السابق. نحول كل نص عددي إلى قيمة عددية.

 

x = '20'

y = '18.5'

z = int(x) - float(y)    # 1.5

print (z)

 

 

 

 

 

 

 

مشكلة تحويل عدد عشري بصيغة نص إلى عدد صحيح وطريقة حلها

 

إذا حاولنا تحويل عدد عشري مُمثل بــ نص إلى عدد صحيح سوف نحصل على رسالة خطأ.

لنجرب الكود التالي:

 

a = int('4.5')

print (a)    # Error رسالة خطأ

 

على ماذا حصلت؟

تحويل عدد عشري المُمثل بــــ نص - لا يعمل - خطأ

ValueError: invalid literal for int() with base 10: '4.5'

 

 

حل مشكلة تحويل عدد عشري بصيغة نص إلى عدد صحيح:

 

كي نتغلب على هذه المشكلة، نحوله اولاً إلى float( ) وبعد ذلك نحوله إلى int( )

لنجرب الكود التالي:

 

 

x = '4.5'

a = float(x)    # float('4.5') = 4.5 قيمة عددية ،

b = int(a)      # int(4.5) = 4 , قيمة عددية

print(a,' ', b) # 4.5  4

 

السطر الثاني والثالث يمكن اختصارهما، هكذا: int(float(x))  

 

 

x = '4.5'

print (int(float(x)))     #  4

 

 

 

  

 

 

str( ) عملية تحويل قيمة إلى نص

 

 

وظيفتها العملية هي تحويل العدد إلى نص (سلسلة من الرموز والإشارات).

 

مثال

 

print (str(25))     # 25

print (str(3+7))    # 10

print (str(32.45))     # 32.45

 

انتبه: الأعداد التي في المخرج هي قيم نص (سلاسل نصيه، رموز وإشارات)،

لا يمكن أجراء عمليات حسابية عليها.

 

مثال

 

b = 35

c = 8.215

print (str(b))  # 35

print (str(c))  # 8.215

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  

 

مثال

 

تمعن في الكود التالي، وشغله.

ما هي المشكلة في هذا الكود ؟ وكيف تصححه؟

 

age = 12

print ("Hello, I am " + age +"years old")

 

 

سوف نحصل على رسالة خطأ، إذ لا يجوز دمج النص مع أعداد !!

 

كيف نحل المشكلة؟

 

علينا تحويل المتغير age إلى نص str()؟

    

age = 12

print ("Hello, I am " + str(age) + "years old")

 

المخرج:  Hello, I am 12 years old

 

 

  

 

 

bool( ) عملية تحويل قيمة إلى قيمة من نوع boolean   وهي أما True أو False

 

 

a = bool(8>5)

print (a)    # True

 

 

 

 

 تـمارين  

 

 

 

سؤال 1  (تحويلات، äîøåú, int, float)

 

أمامكم جدول وبه مقاطع برمجية في لغة بايثون.

لكل مقطع برمجي اكتبوا ما هو المخرج الناتج في العامود الفالاغ.

 

 

المخرج

الكود ببايثون

رقم البند

 

 52

num = 52.3

print (int(num))

1

 

 12.0  

 

num = 24.2

num = float(num // 2)

print (num)

2

 

 

  

 

 

سؤال:   (مًعامِلات النصوص - operators، على النصوص، + ، *)

 

جد المخرج:

 

المخرج

الكود البرمجي

12        

 

121212

 

        36 

p = "1" + '2'

print (p * 3)

print (int(p) * 3)

 

 

 

  

 

سؤال

 

في الكود التالي يوجد خطأ. صححه (اكتبه من جديد)

math = 12

print ("your grade " + math)

 

 

لحل:   print ("your grade " + str(math))

 

  

 

سؤال  (الفصل بين قيمة صحيحة وقيمة عشرية)

 

أكتب برنامج يقرأ عددا عشرياً (float) (أي قيمة عشرية)،

على البرنامج أن يَعِرض على الشاشة (يَطبَع) القيمة الصحيحة من هذا العدد.

ورقمين من أرقامه الأولى التي بَعد الفاصلة.

مثال: العدد المُدخل (÷ìè):  32.879

المخرج (ôìè):                 32   87

 

 

الحل: أكمل الكود الناقص:

num = float(input("Enter your number"))

  

print (int(num))             # القيمة الصحيحة

frac = (num - int(num))*100  # القيمة العشرية

print (int(frac))

 

 

  

 

 

سؤال

جدوا المخرج النهائي من الكود التالي:

تذكروا: في كل عملية إسناد قيمة للمتغير، القيمة السابقة يتم حذفها  وتحفظ القيمة الجديدة.

(المتغير يحفظ القيمة الأخيرة المدخلة إليه).

 

المخرج]

mis

الكود البرمجي

 

 

 

 

 

 

7.5

15      

5           

5+10=15 

15.0     

7.5      

 

mis = 15

mis = 15 / 3

mis = int(mis) + 10

mis = float(mis)

mis = mis / 2

print (mis)

 

 

  

 

سؤال

 

جد المخرج:

 

123

 

<class 'int'>

num = 123

p = int(float(num))

print (p)

print (type(p))

 

 

 

  

 

سؤال

 

 

جد المخرج:

 

3.0

 

<class 'float'>

a = 12.78

b = 4

p = int(a) / float(b)

print (p)

print (type(p))

 

 

  

 

سؤال

 

أي من الأوامر التالية تعطي رسالة خطأ:       

 

 

الخطأ في    b  

   f = "4.5"

a) print (int(float(f)))

b) print (float(int(f)))

 

 

  

 

 

سؤال

 

أكمل الجدول  

 

 

mis = 15

mis= 15+5+30=50

mis = mis + mis / 3 + 2 * mis

==>  50                     

print (mis)

mis  60                  

mis = mis + 10

mis  60.0               

mis = float(mis)

mis  6.0               

mis = mis // 10

==>  6.0                 

print (mis)

==>  float                  

print (type(mis))

 

 

  

 

 

سؤال (ì÷è îôéøàñ)

 

أكمل الجدول التالي:

 

 

y = 100;    print(y)   # 100

t = 10;     print(t)   #  10

y = y + t;  print(y)   # 110

t = t + 10; print(t)   # 20

y = y + t;  print(y)   # 130

t = t + 10; print(t)   # 30

y = y + t;  print(y)   # 160

x = 30;

y = 8;

q = x // y

print(q)       #  3

x = float(x);

print(x / y)   # 3.0

r = x % y; 

print(r)       # 6.0

 

 

 

  

 

 

 

 

 

   

 

 

 

   

 

 

 

Daliaty School – Copywrite  2023

wahbem@gmail.com | https://daliaty.com

 

 

 

 

 

<meta name="viewport" content="width=device-width, initial-scale=1">