English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 基础教程

Python 流程控制

الوظائف في Python

أنواع البيانات في Python

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python 程序检查阿姆斯特朗数

كامل الأمثلة على Python

在此示例中,您将学习检查 n 位整数是否是 Armstrong 数字。

要理解此示例,您应该了解以下Python 编程主题:

عدد صحيح يُدعى درجة أرستيد، إذا كان n

abcd... = an + bn + cn + dn + ...

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

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 هو عدد أرستيد.

كود المصدر: فحص عدد أرستيد (رقم ثلاثي)

# برنامج Python لفحص عدد أرستيد
# قبول إدخال المستخدم
num = int(input("أدخل رقم: "))
# تهيئة sum
sum = 0
# حساب مجموع أرقام الأعداد المثلثة
temp = num
while temp > 0:
   digit = temp % 10
   sum += digit ** 3
   temp //= 10
# عرض النتيجة
if num == sum:
   print(num, "هو عدد أرستيد")
else:
   print(num, "ليس عدد أرستيد")

الخروج: 1

أدخل رقم: 456
456 ليس عدد أرستيد

الخروج: 2

أدخل رقم: 407
407 هو عدد أرستيد

في هذا المثال، نطلب من المستخدم إدخال رقم، ثم نتحقق مما إذا كان هو عدد أرستيد.

نحتاج إلى حساب مجموع الأرقام المثلثة لكل رقم. لذلك، سنقوم بتهيئة مجموع الأرقام المثلثة إلى 0 ونستخدمعامل المودول (%))الحصول على كل رقم. العدد المتبقي عند تقسيم الرقم على 10 هو الرقم الأخر.

في النهاية، سنقارن مجموع الأرقام المثلثة بالرقم الأصلي، وسنستنتج إذا كانت متساوية فإنه هو عدد أرستيد.

كود المصدر: فحص n رقماً هو عدد أرستيد

num = 1634
# تحويل متغير num إلى نص
# حساب طول (عدد الأرقام)
order = len(str(num))
# تهيئة sum
sum = 0
# حساب مجموع أرقام الأعداد المثلثة
temp = num
while temp > 0:
   digit = temp % 10
   sum += digit ** order
   temp //= 10
# عرض النتيجة
if num == sum:
   print(num, "هو عدد أرستيد")
else:
   print(num, "ليس عدد أرستيد")

يمكنك تغيير قيمة num في الكود المصدر، ثم تشغيل البرنامج مرة أخرى لاختباره.

كامل الأمثلة على Python