|
بايثون – ôéúåï – 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">