إرجاع tuple من الحجج التي سيتم تغذيةها إلى string.format ()

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

سؤال

حاليا، أحاول الحصول على طريقة في Python لإرجاع قائمة من الصفر أو واحد أو سلسلتين لتوصيل تكوين سلسلة، ثم قم بتمريرها إلى طريقة السلسلة. يبدو رمزي شيء مثل هذا:

class PairEvaluator(HandEvaluator):
  def returnArbitrary(self):
    return ('ace', 'king')

pe = PairEvaluator()
cards = pe.returnArbitrary()
print('Two pair, {0}s and {1}s'.format(cards))

عندما أحاول تشغيل هذا الرمز، يوفر برنامج التحويل البرمجي IndexError: فهرس Tuple خارج النطاق.
كيف يجب علي الهيكل قيمة الإرجاع الخاصة بي لتمريرها كوسيطة .format()?

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

المحلول

print('Two pair, {0}s and {1}s'.format(*cards))

أنت في عداد المفقودين فقط النجم: د

نصائح أخرى

يفضل التنسيق على المشغل٪، اعتبارا من مقدمة في بيثون 2.6: http://docs.python.org/2/library/stdtypes.html#str.format.

إنه أيضا أكثر بساطة بكثير فقط لفحص Tuple مع * - أو Dict مع ** - بدلا من تعديل سلسلة التنسيق.

هذه المحاولات لاستخدام "البطاقات" كإدخال تنسيق واحد للطباعة، وليس محتويات البطاقات.

جرب شيئا مثل:

print('Two pair, %ss and %ss' % cards)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top