宽度与对齐
输出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()