PTA-基础编程题集


7-5 表格输出~5

本题要求编写程序,按照规定格式输出表格。

输入格式:
本题目没有输入。

输出格式:
要求严格按照给出的格式输出下列表格:

------------------------------------
Province      Area(km2)   Pop.(10K)
------------------------------------
Anhui         139600.00   6461.00
Beijing        16410.54   1180.70
Chongqing      82400.00   3144.23
Shanghai        6340.50   1360.26
Zhejiang      101800.00   4894.00
------------------------------------

代码长度限制
16 KB
时间限制
400 ms
内存限制
提示:注意下格式上的写法

print(
'''------------------------------------
Province      Area(km2)   Pop.(10K)
------------------------------------
Anhui         139600.00   6461.00
Beijing        16410.54   1180.70
Chongqing      82400.00   3144.23
Shanghai        6340.50   1360.26
Zhejiang      101800.00   4894.00
------------------------------------''', end='')

7-3 逆序的三位数~10

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式:
每个测试是一个3位的正整数。

输出格式:
输出按位逆序的数。

输入样例:
123
输出样例:
321
鸣谢安阳师范学院软件学院李康康同学补充数据!

代码长度限制
16 KB
时间限制
400 ms
内存限制
方法一:

n = input()
n = n[::-1]     # 使用分片
print(int(n))   # 整型输出即可(前面含0的将被清除)

可简化为一句:

print(int(input()[::-1]))

方法二:

n = list(input())
n = list(reversed(n))		# 列表翻转
a, b, c = int(n[0]), int(n[1]), int(n[2])
if a == 0:
    if b == 0 and c != 0:
        print(c)
    elif b != 0 and c != 0:
        print(b, c, sep='')
else:
    print(a, b, c, sep='')

方法三:

n = input()
n = list(n)                                         # 将要输出的转换为列表,便于逆序
# print(n)
a, b, c = int(n[0]), int(n[1]), int(n[2])
if n[0] != '0' and n[1] == '0' and n[2] == '0':     # 当后两位都为0时,输出结果只是第一位
    print(n[0])
elif n[0] != '0' and n[1] != '0' and n[2] == '0':   # 当最后一位为0时,输出结果时一二位
    print(n[1], n[0], sep='', end='')
else:                                               # 除了以上情况,其他的都是全部逆序输出即可
    print(c, b, a, sep='', end='')

7-2 然后是几点~15

有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。

读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。

输入格式:
输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530;0 点 30 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。

输出格式:
输出不多于四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。

输入样例:

1120 110

输出样例:

1310

鸣谢燕山大学穆运峰老师、用户任钰补充数据!

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

sj, m = map(int, input().split())
nowH = sj // 100                # 得到时间的前两位,即小时数
nowM = sj % 100                 # 得到时间的后两位,即分钟数
newSj = nowH * 60 + nowM + m    # 小时数转化为分钟数,在全部相加,得出全部分钟数
newH = newSj // 60              # 注意,必须得用//(整除)
newM = newSj % 60
print("%d%02d" % (newH, newM))


爱心小制作

from turtle import *
def heart():
    for i in range(200):
        right(1)
        forward(1)


color('red', 'pink')
begin_fill()
left(140)
fd(111.65)
# forward(111.65)   # 同上
heart()
left(120)
heart()
forward(111.65)
end_fill()

done()

每日一言:

意志力的强弱,决定了一个人此生成就的大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值