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

【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, ...)` 一样,但更直观。

http://www.xdnf.cn/news/4613.html

相关文章:

  • C++ 线程池:原理、实现与高级实现
  • 电商双11美妆数据分析(2)
  • 【anylogic_04】地铁站的人流仿真
  • 易境通海外仓系统:如何高效管理尾程派送订单?
  • 1:点云处理—三种显示方法(自建点云)
  • 这些单词有什么内在联系吗?
  • Linux 内核学习(6) --- Linux 内核基础知识
  • 第18篇:Linux设备驱动程序入门<五>
  • 股票基础知识 | 投资理财(1)【未完待续】
  • 【PhysUnits】2 Scalar<T> 标量元组结构体(scalar/mod.rs)
  • leetcode刷题日记——随机链表的复制
  • 应急响应靶场web3:知攻善防实验室
  • 使用英伟达 Riva 和 OpenAI 构建 AI 聊天机器人
  • 普通IT的股票交易成长史--20250507晚复盘
  • J2 WebScarab 安装指南详细步骤与配置方法
  • 数据报(Datagram)与虚电路(Virtual Circuit)的区别
  • SQL Server 存储过程开发三层结构规范
  • 生物化学笔记:神经生物学概论12 大脑全景图 知觉、行为和语言 注意力
  • vue3的页面跳转方法汇总(路由跳转,组件跳转)
  • 微信小程序开发,登录注册实现
  • ​​Dongle​​(中文常称“加密狗”或“适配器”)
  • 智慧医疗时代下的医疗设备智能控费系统解决方案
  • 【C++】C++中的类型转换
  • GoFrame框架下优雅使用Redis:从入门到实战的最佳实践
  • docker搭建DeepSeek+Dify构建个人知识库
  • 在 Ubuntu 系统中,挂起(Suspend)和休眠(Hibernate)
  • 如何做界面自动化工具选择?
  • 深入解析Spring Boot项目目录结构:从新手到规范实践
  • Git 撤销已commit但未push的文件
  • overflow使用