[题目描述]
 在某个星球上看到的月亮大小有一个规律,月亮为每30天一个周期,在这30天的周期里,月亮的大小分别为 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1。
 虽然天气很冷,但这个星球上的某个居民今天却异常疯癫,不知为何居然想要赏月了。
 但他想在赏月之前知道今天的月亮到底有多大。
输入格式:
 第一行数据组数T ,
 每组数据两个整数a ,b ,表示前两天的月亮大小,保证数据是合法的。
输出格式:
 每组数据占一行,表示今天的月亮大小。
样例输入
 2
 0 1
 11 10
样例输出
 2
 9
数据范围
 对于 100%的数据,保证1≤T≤30 ,0≤a,b≤15。
来源/分类(难度系数:一星)
完整代码如下:
 a=int(input())
 b=[]
 for i in range(a):
     c=list(map(int,input().split()))
     b.append(c)
 for j in range(0,len(b)):
     if b[j][0]<b[j][1]:
         if b[j][0]<=13:
             print(b[j][1]+1)
         elif b[j][0]==14:
             print(14)
     else:
         if b[j][0]>=2:
             print(b[j][1]-1)
         elif b[j][0]==1:
             print(1)
代码解释:
 “a=int(input())
 b=[]         ”,让用户输入需要求的月亮大小的组数。,并建立一个空列表b。
 “for i in range(a):
     c=list(map(int,input().split()))
 b.append(c)               ”,循环a次,将用户输入的数字组转化为列表,并依次存入列表b中。
 “for j in range(0,len(b)):
     if b[j][0]<b[j][1]:
         if b[j][0]<=13:
             print(b[j][1]+1)
         elif b[j][0]==14:
             print(14)
     else:
         if b[j][0]>=2:
             print(b[j][1]-1)
         elif b[j][0]==1:
             print(1)      ”,遍历列表b中的元素,按照规则分为两大组(b[j][0]<b[j][1]或者是b[j][0]>b[j][1]),接着将着每个大组分为两类(普通类及特殊类,例如12 13 14(普通类)与14 15 14(特殊类),3 2 1(普通类)与1 0 1(特殊类,)),依次按照所给条件进行输出,直至循环结束。
运行效果展示:

 
 
(声明:以上内容均为原创)