目标是将以下代码减少到尽可能少的行(和更少的字符)的代码。它不需要是“可读的”或什至是“ pythonic”的,只是简短而可爱。这个更有趣。
self.BlueEgg = PhotoImage(file="assets/blueegg.gif")
self.PolkaEgg = PhotoImage(file="assets/polkaegg.gif")
self.RedEgg = PhotoImage(file="assets/redegg.gif")
self.StripeEgg = PhotoImage(file="assets/sripeegg.gif")
self.YellowEgg = PhotoImage(file="assets/yellowegg.gif")
self.PurpleEgg = PhotoImage(file="assets/purpleegg.gif")
self.PinkEgg = PhotoImage(file="assets/pinkegg.gif")
self.OrangeEgg = PhotoImage(file="assets/orangeegg.gif")
self.CrazyEgg = PhotoImage(file="assets/crazyegg.gif")
self.PlainEgg = PhotoImage(file="assets/plainegg.gif")
它确实适用于我的程序,但是我更多-所以只想看看你们能想到什么!大家复活节快乐!
最佳答案
唯一改变的是egg的类型,它改变了self和filename的属性。所以...
types = ('Blue', 'Polka', 'Red', 'Stripe', 'Yellow', 'Purple', 'Pink', 'Orange', 'Crazy', 'Plain')
for t in types:
setattr(self, '%sEgg' % t, PhotoImage(file='assets/%segg.gif' % t.lower()))
关于python - 将PhotoImage代码的以下行减少到尽可能少的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5760585/