类型:数值运算
描述
用户输入矩形的长和宽,计算其面积并输出。
a = eval(input()) #输入整数字符串,转换为整数;输入浮点数字符串,转换为浮点数
b = float(input()) #输入整数和浮点数,都转换为浮点数
c = int(input()) #只接受整数输入,输出为整数
#eval()和float()函数都可以把input() 函数接收到的数值型字符串转为数值类型
#例:float('3.14') 的结果是数值 3.14
#int()函数可以把整数字符串转为整数
#例:int('5') 的结果是数值 5
输入格式
第一行输入一个数字,代表矩形的长
第二行输入一个数字,代表矩形的宽
(输入使用input(),不要增加额外的提示信息)
输出格式
输出矩形的面积,不限定小数位数
示例 1
输入:
3.1415926
5.88
输出:
18.472564488
示例 2
输入:
5
8
输出:
40
解析
- 题目有两行输入,每行输入用一个input()函数实现
- 要求输入数字,既可能是整数也可能是浮点数,所以应用eval()将输入的数据转为对应的数值类型
- 输出时不做任何格式控制,直接输出运算结果
- 乘法运算结果的类型与参加运算的两个数据的类型相关:
- 当两个数据均为整形时,结果为整形;
- 若两个数据中包含一个(或均为)浮点型,则结果为浮点型。
常见问题
- 程序中出现中文全角符号
此时提交或运行程序,将会出现如下异常提示信息
SyntaxError: invalid character '(' (U+FF08)
- 未对输入数据做类型转换
此时输入数据均为字符串类型,两个字符串无法相乘,乘法运算将会出现如下异常信息
TypeError: can't multiply sequence by non-int of type 'str'
- 使用int函数对输入进行类型转换
题目没有明确说明输入一定是整数,当输入包含小数点时(如示例1),将会出现如下异常信息
ValueError: invalid literal for int() with base 10: '3.1415926'
- 使用float函数对输入进行类型转换
此时即使输入整数字符串,也会被转换为浮点数,乘法运算的结果将为浮点数。上面代码使用示例2 的输入,输出s的值将为40.0,与示例2不符。