Python3的多组输入方式

本文介绍了使用Python处理多组输入的两种常见方法,并通过具体示例对比了Python与C++在处理特定类型问题上的便捷性。一种方法适用于连续输入直到文件结束的情况,另一种则针对固定组数的输入。这些技巧对于解决类似竞赛编程中常见的加法问题特别有用。

Python在有些时候比c++还是好用多了,比如biginteger和一道校赛题

在这里简单总结一下Python的多组输入方式

1.while(~~~!=EOF)

题目A+B:

由于要一行读入2个数,所以有点细节要注意

while True:
    try:
        a,b = map(int,input().split())
        print(a+b)
    except:
        break;

2.T组A+B

题目一道校赛题

代码:

n=int(input())
for i in range(n):
    m=int(input())
    a=int(input())
    print(m+a)

如果这题要用c++,由于前导0,确实有点麻烦

以下是基于问题需求编Python 程序,该程序能够接受三个数作为输入,判断它们是否可以构成三角形,并在可能的情况下计算并输出三角形面积(结果保留一位小数)。如果无法构成三角形,则输出 `data error`。 ```python import math def calculate_triangle_area(a, b, c): """ 使用海伦公式计算三角形面积。 参数: a, b, c -- 三角形的三条边长 返回值: 浮点型表示的三角形面积 """ s = (a + b + c) / 2.0 # 半周长 area = math.sqrt(s * (s - a) * (s - b) * (s - c)) # 面积计算公式 return round(area, 1) # 结果保留1位小数 try: while True: # 循环读取多组输入数据 inputs = list(map(float, input("请输入三个数(用空格分隔):").strip().split())) if len(inputs) != 3: # 检查输入数量是否合法 print("data error") continue a, b, c = inputs # 判断是否能构成三角形 if a > 0 and b > 0 and c > 0 and (a + b > c) and (a + c > b) and (b + c > a): area = calculate_triangle_area(a, b, c) print(f"{area}") # 输出面积 else: print("data error") # 如果不能构成三角形,输出错误信息 except EOFError: # 处理输入结束异常 pass ``` ### 功能解析 1. **循环结构**: 使用无限循环 (`while True`) 来持续接收用户输入,直到遇到文件结尾符(EOF)引发 `EOFError` 才退出循环[^1]。 2. **输入校验**: 每次从标准输入获取一行数据后,先将其分割成列表形式。若输入的数量不是恰好三个数值或者存在负数/零的情况,则判定为非法输入并跳过当前轮次[^2]。 3. **逻辑判断**: 根据三角形成立条件——任意两边之和大于第三边来验证输入是否有效。对于有效的输入组合进一步调用函数完成面积计算工作;而针对无效情形直接反馈固定字符串 `"data error"` 给用户了解情况进展[^3]。 4. **面积运算**: 定义辅助方法专门负责依据传入参数执行具体数学推导过程得出最终答案前做适当格式化处理确保符合题目关于精度方面的要求[^4]。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值