python题解

宽度与对齐

输出455、-123、987654,宽度为5,分别左对齐和右对齐

格式
输入格式:

输出格式:
输出为整型,空格分隔。每个数的输出占一行

样例 1
输入:

复制
输出:
455 455
-123 -123
987654 987654

def main():
    #code here
    pass
    print(f"{'455'.ljust(5)} {'455'.rjust(5)}")
    print(f"{'-123'.ljust(5)} {'-123'.rjust(5)}")
    print(f"{'987654'.ljust(5)} {'987654'.rjust(5)}")
if __name__ == '__main__':
    main()

左右对齐

输出3.1415926、22.3456,宽度为14,精度为6,分别左对齐和右对齐。

格式
输入格式:

输出格式:
输出为实型,空格分隔。每个数的输出占一行。

样例 1
输入:

复制
输出:
3.141593 3.141593
22.345600 22.345600

def main():
    # 定义两个变量,a 和 b
    a = 3.1415926  # 将 pi 的近似值存储在变量 a 中
    b = 22.3456    # 将一个浮点数存储在变量 b 中
    
    # 打印变量 a 的格式化输出:左对齐和右对齐
    print("{0:<14.6f} {0:>14.6f}".format(a))
    
    # 打印变量 b 的格式化输出:左对齐和右对齐
    print('{0:<14.6f} {0:>14.6f}'.format(b))

if __name__ == '__main__':
    main()

第一个 print 语句: 格式化并打印变量 a 两次。格式化字符串 {0:<14.6f} 表示 {0}(指代 a)应格式化为带有 6 位小数的浮点数。< 表示左对齐在一个宽度为 14 的字段内,>14.6f 表示右对齐在一个宽度为 14 的字段内。因为 {0} 被使用两次,a 被两次打印,具有相同的格式化方式。

第二个 print 语句: 格式化并打印变量 b 两次。类似于第一个语句,{0:<14.6f} 格式化 b 为带有 6 位小数的浮点数,并左对齐在一个宽度为 14 的字段内。{0:>14.6f} 右对齐 b 在一个宽度为 14 的字段内。再次,b 被两次打印,具有相同的格式化方式。

输入宽度

在这里插入图片描述

def main():
    #code here
    pass
    a = input()

    a1,a2,a3 = a[:3],a[3:6],a[6:]
    print('{} {} {}'.format(a1,a2,a3))
if __name__ == '__main__':
    main()

%s格式符

输入字符串,然后输出前3个字符,要求占6列,右对齐。

格式
输入格式:
输入字符串

输出格式:
输出字符串

样例 1
输入:
Wendy
复制
输出:
Wen

def main():
    a = input()  # 获取用户输入
    print("%+6s" % a[:3])  # 打印输入字符串的前三个字符

if __name__ == '__main__':
    main()

%f格式符

输入一个实数,第一次按实型输出;第二次保留2位小数输出;第三次保留3位小数但最小列宽8列输出,空格分隔。

格式
输入格式:
输入实型

输出格式:
输出实型,空格分隔。

样例 1
输入:
31331.14345435
复制
输出:
31331.143454 31331.14 31331.143

def main():
    #code here
    pass
    a = float(input())
    print('{:.6f} {:.2f} {:8.3f}'.format(a,a,a))

if __name__ == '__main__':
    main()

小数、指数

输出3.1415926、12345678.123456789的小数、指数形式。

格式
输入格式:

输出格式:
输出为实型,空格分隔

样例 1
输入:

复制
输出:
3.141593 3.141593e+000
12345678.123457 1.234568e+007

def main():
    #code here
    pass
    num_1 = 3.1415926
    num_2 = 12345678.12345678
    print(f'{num_1:.6f} {num_1:.6e}'.replace('+','+0'))
    print(f'{num_2:.6f} {num_2:.6e}'.replace('+','+0'))
if __name__ == '__main__':
    main()

print(f’{num_1:.6f} {num_1:.6e}‘.replace(’+', ‘+0’)):

使用 f-string 格式化输出 num_1 的值:.6f 表示格式化为六位小数的浮点数,.6e 表示使用科学计数法表示,并保留六位有效数字。
.replace(‘+’, ‘+0’) 用于确保科学计数法的指数部分显示正号。这种方法会在指数部分的正号前面加上一个 0,以确保格式一致性。

replace(‘+’, ‘+0’) 这段代码是用来处理科学计数法中指数部分的正号显示的。在科学计数法中,如果一个数字很大或者很小,Python 会使用科学计数法来表示,例如 1.23e+06 表示 1.23 乘以 10 的 6 次方。在这种表示法中,指数部分的符号(正号或负号)是可选的,而且如果是正数,通常会省略正号。
有时候,为了格式上的一致性或者其他需求,我们可能希望指数部分的正号始终显示为 +0,比如 1.23e+06 应该显示为 1.23e+06 而不是 1.23e6。
在代码中,replace(‘+’, ‘+0’) 的作用是将科学计数法中指数部分的正号(如果有)替换为 +0。具体来说:
.replace(‘+’, ‘+0’) 方法会查找字符串中所有的 + 符号,并用 +0 来替换它们。
这样做可以确保不论指数部分是正号还是负号,最终输出的科学计数法表示中,指数部分的正号始终显示为 +0。

八、十六进制

输出202、117、70、130的十进制、八进制、十六进制数据形式,结果为0ddddd或0Xddddd。

格式
输入格式:

输出格式:
输出为整型,空格分隔。每个数的输出占一行。

样例 1
输入:

复制
输出:
202 0312 0XCA
117 0165 0X75
70 0106 0X46
130 0202 0X82

def main():
    # 主函数开始

    # 定义整数变量
    a = 202
    b = 117
    c = 70
    d = 130

    # 打印格式化输出,包括十进制、八进制和十六进制
    # 使用 format() 方法将整数格式化为不同进制的字符串,并将八进制的表示中的 '0o' 替换为单独的 '0'
    print('{:d} {:#o} {:#X}'.format(a, a, a).replace('0o', '0'))
    print('{:d} {:#o} {:#X}'.format(b, b, b).replace('0o', '0'))
    print('{:d} {:#o} {:#X}'.format(c, c, c).replace('0o', '0'))
    print('{:d} {:#o} {:#X}'.format(d, d, d).replace('0o', '0'))

if __name__ == '__main__':
    main()

合并

已知a、b、c是一个十进制数的百位、十位、个位,求这个十进制数。

格式
输入格式:
输入为正整型a、b、c,空格分隔

输出格式:
输出为整型

样例 1
输入:
1 3 4
复制
输出:
134

def main():
    #code here
    pass
    a,b,c = map(int,input().split())
    print(f'{a*100+b*10+c}')
if __name__ == '__main__':
    main()

整数逆序

编写一个程序,要求输入一个两位数的数字,然后逆序输出数字。不考虑不合理的输入或是溢出等特殊情况。

格式
输入格式:
输入正整数

输出格式:
输出为逆序后的字符串

样例 1
输入:
28
复制
输出:
82

def main():
    #code here
    pass
    print(input()[::-1])
if __name__ == '__main__':
    main()
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaixin_啊啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值