将列表转换为格式化字符串upd

2024-10-02 08:15:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试编写一个python代码,它会自动从我的choices属性(drf)中给我一个列表

看起来是这样的:

2011/2012
2012/2013
2013/2014
2014/2015
2015/2016
...

但我失败得很惨。 下面是我的代码(尽管没有做任何合理的事情)

x = xrange(2011, 2015)
y = xrange(2012, 2016)
z = '%5d / %5d' % (x, y) 
print '\n'.join(z)

谢谢你们的帮助。 还有一件事 所以我试着在我的drf模型中,把out-put-in-my-choices属性放进去,它不会给我任何错误消息,除了当我把

Print z

当我运行时,它包括服务器控制台中的输出

Python manage.py runserver

下面是我的代码,我想确定我做的是正确的

class studentship(models.Model):
      def datechoice():
             x = xrange(2011,2016)
             y = xrange(2012,2017)
             for tup in zip(x,y):
                    z = '%d/%d' %(tup[0], tup[1])

      pick_date = (datechoice())
      enroll = models.Charfield(max_Length = 1, choices = 
      pick_date, default = 'select school session')

谢谢你们的帮助,我保证会尽快改进我的Python。你知道吗


Tags: 代码in列表date属性models事情drf
3条回答

不能使用字符串格式来获取字符串列表。必须显式编写for循环:

x = xrange(2011, 2015)
y = xrange(2012, 2016)
z = ['%5d / %5d' % (a, b) for a,b in zip(x,y)] 
print '\n'.join(z)

每档增加一年

x = xrange(2011, 2016) # 2016 is exclusive
y = xrange(2012, 2017)

# Use zip() to get tuples of years, one each from x and y
# print list(zip(x, y))
# [(2011, 2012), (2012, 2013), (2013, 2014), (2014, 2015), (2015, 2016)]

# Using zip(), loop through x and y
for tup in zip(x, y):
    z = '%d/%d' % (tup[0], tup[1])
    print z

2011/2012
2012/2013
2013/2014
2014/2015
2015/2016
>>>

不过,你的问题有点不清楚,试试这个:

for x in range(2011, 2016):
    print("{}/{}".format(x, x+1))

输出:

2011/2012
2012/2013
2013/2014
2014/2015
2015/2016

相关问题 更多 >

    热门问题