سؤال

أرى في الكود على هذا صفحة سيج ويكي الرمز التالي:

@interact
def _(order=(1..12)):

هذا هو (1..n) بناء الجملة فريد من نوعه إلى حكيم أم أنه شيء في بيثون؟ أيضا ، ماذا تفعل؟

هل كانت مفيدة؟

المحلول

إنه محدد. يمكنك استخدام preparse لنرى كيف يتم تربيتها إلى:

sage: preparse("(1..12)")
'(ellipsis_iter(Integer(1),Ellipsis,Integer(12)))'

نرى هنا لتوثيق ellipsis_iter, هنا للحصول على معلومات عن preparser.

نصائح أخرى

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

  • (A..B) - مثل Xrange ، لذلك جهاز التكرار

  • A..B] - قائمة ، بما في ذلك نقاط النهاية

  • A ، B ، .. ، C] - تقدم الحساب

هذا ليس بناء جملة بيثون. أعتقد أنه يخلق نطاقًا من 1 إلى 12.

(1..n) بناء الجملة غير موجود في بيثون.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top