كيفية كتابة برنامج Python يقرأ الإدخال وتحويله إلى أحرف مكونة من 14 قطعة محددة مسبقًا مع رسومات السلاحف؟

StackOverflow https://stackoverflow.com/questions/4137040

  •  30-09-2019
  •  | 
  •  

سؤال

لقد كتبت وظائف رسومات السلاحف التي تحدد الجزء الأربعة عشر ، والوظائف التي تجمع هذه الأجزاء لتشكيل الأحرف ، على سبيل المثال

def MethodA (width) :
   top_stroke(width)    
   middle_stroke(width) 
   left_stroke 
   right_stroke(width)

لديّ جميع التعريفات جاهزة ، لكن كيف أترك Python قراءة إدخال وتحويل أحرف الإدخال إلى أشكال الأجزاء الأربعة عشر ، والتي حددتها سابقًا؟

من الواضح ، إذا أدخلت "بيتزا" ، فيجب أن ينتج البرنامج إخراج الأحرف "البيتزا" في نموذج القطرات الأربعة عشر.

أي اقتراحات موضع ترحيب وتقدير. شكرًا،

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

المحلول

يمكنك تحديد قاموس مع مراجع الوظيفة مثل هذا:

Characters = {
    'A': MethodA,
    'B': MethodB,
    # ...
}

ثم ، لسلسلة s:

s = "Pizza"
for c in s:
    c = c.upper() # to fold lowercase into upper case
    if c in Characters:
        Characters[c](width)

يعمل هذا الرمز باستخدام Characters[c] للبحث عن مرجع الوظيفة في القاموس ، ثم (width) يسبب استدعاء الوظيفة (مع أ width المعلمة ، كما تتوقع الوظيفة).

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