当前位置: 首页 > news >正文

【Python】算法笔记

1 输入

在 Python 中,可以使用 `input()` 函数接收控制台的输入,然后将其转换为数字类型(整数或浮点数)。以下是几种常见的方法:

### 1. 接收整数输入
```python
num = int(input("请输入一个整数: "))
print("你输入的数字是:", num)
```

### 2. 接收浮点数输入
```python
num = float(input("请输入一个浮点数: "))
print("你输入的数字是:", num)
```

### 3. 处理异常(避免输入非数字时报错)
```python
try:
    num = float(input("请输入一个数字: "))
    print("你输入的数字是:", num)
except ValueError:
    print("输入无效,请确保输入的是数字!")
```

### 4. 接收多个数字(例如,一行输入多个数字,用空格分隔)
```python
input_str = input("请输入多个数字,用空格分隔: ")
numbers = list(map(float, input_str.split()))
print("你输入的数字列表是:", numbers)
```

### **`map()` 的作用是什么?**
`map()` 是 Python 的一个内置函数,它的作用是对一个可迭代对象(如列表)中的每个元素应用某个函数,并返回一个新的迭代器。  

#### **语法:**
```python
map(function, iterable)
```
- `function`:要应用的函数(如 `int`、`float`、`str` 等)。
- `iterable`:可迭代对象(如列表、元组等)。

---

### **`numbers = list(map(float, input_str.split()))` 解析**
1. **`input_str.split()`**  
   - `input()` 接收的是字符串,例如 `"10 20 30.5"`。
   - `.split()` 默认按空格分割字符串,返回一个字符串列表:  
     ```python
     ["10", "20", "30.5"]
     ```

2. **`map(float, ...)`**  
   - `map(float, ["10", "20", "30.5"])` 会对列表中的每个元素应用 `float()` 函数,转换成浮点数:
     ```python
     [10.0, 20.0, 30.5]  # 但 map() 返回的是迭代器,不是列表
     ```

3. **`list(map(...))`**  
   - `map()` 返回的是一个迭代器(`map object`),用 `list()` 将其转换成列表:
     ```python
     [10.0, 20.0, 30.5]  # 最终结果
     ```

---

### **替代写法(列表推导式)**
除了 `map()`,也可以用 **列表推导式** 实现相同功能:
```python
numbers = [float(x) for x in input_str.split()]
```
- 效果和 `map(float, ...)` 一样,但更直观。

相关文章:

  • TR-5000
  • Linux系统基本指令和知识指南
  • Vue 3 中的 nextTick 使用详解与实战案例
  • MES 运维
  • Vuerouter 的底层实现原理
  • boost笔记: Cannot open include file: ‘boost/mpl/aux_/preprocessed/plain/.hpp‘
  • 用3D slicer 去掉影像中的干扰体素而还原干净影像(脱敏切脸处理同)
  • CUDA:out of memory的解决方法(实测有效)
  • 【MATLAB代码解析】基于蜜蜂交配优化算法的排列组合优化问题MATLAB实现
  • Paper.js 的 simplify()方法在绘制高精度path时,消失问题
  • Nginx核心原理以及案例分析(AI)
  • 学习黑客 Linux 网络管理
  • Qt还有希望吗
  • leetcode 160. 相交链表
  • 国家信息中心:基于区块链和区块链服务网络(BSN)的可信数据空间建设指引
  • 重生之我在2024学Fine-tuning
  • Spring 中org.springframework.core.Ordered接口的实战教学
  • 《深度学习入门 基于Python的理论实现》思维导图
  • The Action Replay Process
  • 基于QT(C++)实现(图形界面)校园导览系统
  • 马克龙称法英正与乌克兰商议“在乌部署欧洲军队”
  • 重庆一高校75万采购市价299元产品?工作人员:正在处理
  • 中国工程院院士、国医大师、现代中国针灸奠基人石学敏逝世
  • 上汽享道出行完成13亿元C轮融资,已启动港股IPO计划
  • 《中国人民银行业务领域数据安全管理办法》发布,6月30日起施行
  • 云南一男子酒后经常殴打七旬母亲,被警方拘14日罚600元