python-赏月

发布于:2024-06-21 ⋅ 阅读:(55) ⋅ 点赞:(0)

[题目描述]
在某个星球上看到的月亮大小有一个规律,月亮为每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(特殊类,)),依次按照所给条件进行输出,直至循环结束。

 

运行效果展示:

8295469846754c1482e652f612e7c709.jpg

766c36999d3f4fdab303611a018c9093.jpg 

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