PAT乙级1063计算谱半径-(python)print()格式化输出

前言

这个比较简单,用最简单的穷举就好了。计算出每个数的模,然后排序,输出最大的。
重点总结一下python3中print()的格式化输出。

1. 题目

在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n n n个复数空间的特征值 { a 1 + b 1 i , … , a n + b n i } \{a_1+b_1i,\dots,a_n+b_ni\} {a1+b1i,,an+bni},它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。
现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。

  1. 输入格式:
    输入在一行给出正整数 N ( ≤ 10000 ) N(\le 10000) N(10000)是输入的特征值的个数。随后 N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过 1000 的整数。

  2. 输出格式:
    在一行中输出谱半径,四舍五入保留小数点后 2 位。

  3. 输入样例:

    5
    0 1
    2 0
    -1 0
    3 3
    0 -3

  4. 输出样例:

    4.24

2. print()格式化输出

2.1 python字符串格式化符号

符号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整数
%o格式化无符号八进制整数
%x格式化无符号十六进制整数
%X格式化无符号十六进制整数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

2.2 格式化操作符辅助指令

符号功能
*定义宽度或者小数点 >>>for i in range(0,3):
...     print(i, end = '' )
... 
012精度 |

| -| 用做左对齐 |
| +| 在正数前面显示加号( + ) |
| <sp> | 在正数前面显示空格 |
| # | 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’) |
| 0 | 显示的数字前面填充’0’而不是默认的空格 |
| % | ‘%%‘输出一个单一的’%’ |
|(var) | 映射变量(字典参数) |
| m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |

2.3 格式化输出浮点数举例

>>>pi = 3.141592653  
>>> print('%10.3f' % pi) #字段宽10,精度3  
     3.142  
>>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度  
pi = 3.142  
>>> print('%010.3f' % pi) #用0填充空白  
000003.142  
>>> print('%-10.3f' % pi) #左对齐  
3.142       
>>> print('%+f' % pi) #显示正负号  
+3.141593

2.4 自动换行

print 会自动在行末加上回车, 如果不需回车,只需在 print 语句的结尾添加一个逗号 ,就可以改变它的行为。

>>>for i in range(0,6):
...     print (i,)
... 
0
1
2
3
4
5

在 Python 中 print 默认是换行的:

>>>for i in range(0,3):
...     print (i)
... 
0
1
2
>>>

要想不换行你应该写成 print(i, end = ‘’ )、

>>>for i in range(0,3):
...     print(i, end = '' )
... 
012

3. 代码

import math

N = int(input())
result = []

for i in range(N):
  tem = [int(j) for j in input().split()]
  result.append(math.sqrt(tem[0]**2 + tem[1]**2))
  
result.sort(reverse = True)

print('%.2f'%(result[0]))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值