用str.format()和f-string编写一个能计算矩形面积的程序
时间: 2024-09-30 20:07:09 浏览: 11
当你想要用Python编写一个计算矩形面积的程序时,可以使用`str.format()`方法或者f-string(格式化字符串字面量)。以下是两个示例:
1. 使用 `str.format()` 方法:
```python
def rectangle_area(length, width):
area = length * width
return f"矩形的面积是 {area} 平方单位."
# 示例
length = float(input("请输入矩形的长度: "))
width = float(input("请输入矩形的宽度: "))
print(rectangle_area(length, width))
```
2. 使用 f-string (推荐现代版本的Python):
```python
def calculate_rectangle_area(length, width):
area = length * width
return f"矩形的面积是 {area:.2f} 平方单位." # {:.2f} 表示保留两位小数
# 示例
length = float(input("请输入矩形的长度: "))
width = float(input("请输入矩形的宽度: "))
print(calculate_rectangle_area(length, width))
```
在这两个例子中,用户会被提示输入矩形的长度和宽度,然后程序会计算并打印出面积,其中`.2f`是浮点数格式,用于控制输出的小数位数。
相关问题
f-string 和 str.format() 有什么区别?
f-string(格式化字符串字面量)是Python 3.6及以上版本引入的一种新的字符串格式化方法,它的语法更为简洁直观。在f-string中,可以直接在花括号{}内插入表达式,表达式的值会被计算并插入到字符串中。例如:
```python
name = "Alice"
age = 25
print(f"Hello, my name is {name} and I'm {age} years old.")
```
而str.format()函数则是在Python 2.6及以前版本广泛使用的格式化方法,它需要明确指定每个占位符的位置,并可以包含更多的格式选项,如宽度、精度等。示例如下:
```python
name = "Alice"
age = 25
print("Hello, my name is {} and I'm {} years old.".format(name, age))
```
主要区别有:
1. **易读性**:f-string的语法更直观,不需要额外的括号和`format()`函数。
2. **性能**:在大多数现代Python解释器中,由于内置优化,f-string通常比str.format()更快。
3. **灵活性**:str.format()提供了更多的控制选项,比如命名参数和字段选择,但f-string在这方面相对较简单。
用户输入一个浮点数,用str.format()或f-string格式化输出,输出时严格保留3位小数。
使用str.format()格式化输出:
```
num = float(input("请输入一个浮点数:"))
print("格式化输出:{:.3f}".format(num))
```
使用f-string格式化输出:
```
num = float(input("请输入一个浮点数:"))
print(f"格式化输出:{num:.3f}")
```