菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 3 教程
Python3 教程 Python3 简介 Python3 环境搭建 Python3 VScode Python3 基础语法 Python3 基本数据类型 Python3 数据类型转换 Python3 解释器 Python3 注释 Python3 运算符 Python3 数字(Number) Python3 字符串 Python3 列表 Python3 元组 Python3 字典 Python3 集合 Python3 条件控制 Python3 循环语句 Python3 编程第一步 Python3 推导式 Python3 迭代器与生成器 Python3 with Python3 函数 Python3 lambda Python3 装饰器 Python3 数据结构 Python3 模块 Python __name__ Python3 输入和输出 Python3 File Python3 OS Python3 错误和异常 Python3 面向对象 Python3 命名空间/作用域 Python 虚拟环境的创建 Python 类型注解 Python3 标准库概览 Python3 实例 Python 测验

Python3 高级教程

Python3 正则表达式 Python3 CGI编程 Python3 MySQL(mysql-connector) Python3 MySQL(PyMySQL) Python3 网络编程 Python3 SMTP发送邮件 Python3 多线程 Python3 XML 解析 Python3 JSON Python3 日期和时间 Python3 内置函数 Python3 MongoDB Python3 urllib Python uWSGI 安装配置 Python3 pip Python3 operator Python math Python requests Python random Python OpenAI Python 有用的资源 Python AI 绘画 Python statistics Python hashlib Python 量化 Python pyecharts Python selenium 库 Python 爬虫 Python Scrapy 库 Python Markdown Python sys 模块 Python Pickle 模块 Python subprocess 模块 Python queue 模块 Python StringIO 模块 Python logging 模块 Python datetime 模块 Python re 模块 Python csv 模块 Python threading 模块 Python asyncio 模块 Python PyQt Python for 循环 Python while 循环
(追記) (追記ここまで)

Python3 input() 函数

Python3 内置函数 Python3 内置函数

input() 函数用于从标准输入(键盘)获取用户输入,并返回一个字符串(str)类型

注意:input() 无论输入什么内容,返回值始终是字符串。如果需要进行数值计算,必须手动进行类型转换(如 int()float())。

函数语法

input([prompt])

参数说明:

  • prompt:可选,提示用户输入的信息

实例

input() 获取用户输入,并以字符串形式返回。

input() 基本用法

>>>name = input("请输入你的名字:") 请输入你的名字:小明 >>> print("你好,", name) 你好,小明

即使输入的是数字,返回值仍然是字符串。

类型问题(常见坑)

>>>a = input("请输入数字:") 请输入数字:123 >>> type(a) <class'str'>

注意:直接使用 input() 获取的值不能参与数值计算。

错误示例:

>>> a = input("请输入数字:")
>>> print(a + 1)
TypeError: can only concatenate str (not "int") to str

正确写法:

>>> a = int(input("请输入数字:"))
>>> print(a + 1)

input() 接收多个值

split() 会将输入按空格拆分为字符串数组。

实例

# 输入多个值(用空格分隔)
a, b, c = input("请输入三个数字:").split()

# 转换类型
a = int(a)
b = int(b)
c = int(c)

print(a, b, c)

使用 map() 可以一次性完成类型转换,代码更简洁。

推荐写法(进阶)

# 一步完成拆分 + 转换
a, b, c = map(int, input("请输入三个数字:").split())

print(a, b, c)

实战:计算三角形面积

# 输入三角形三边
a, b, c = map(int, input("请输入三角形三边的长:").split())

# 计算半周长
p = (a + b + c) / 2

# 海伦公式计算面积
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5

print("三角形面积为:", format(s, '.2f'))

运行结果:

请输入三角形三边的长:3 4 5
三角形面积为: 6.00

常见用法总结

  • input("提示"):带提示输入
  • input():不带提示输入
  • int(input()):获取整数
  • float(input()):获取浮点数
  • input().split():获取多个字符串
  • map(int, input().split()):获取多个整数(推荐)

Python2 与 Python3 区别

在 Python2 中:

  • raw_input():返回字符串
  • input():会执行表达式(存在安全风险)

在 Python3 中:

  • 仅保留 input()
  • 统一返回字符串,更安全、更易理解

核心总结

一句话总结:

input() = 获取输入 + 返回字符串
  • 默认返回字符串
  • 参与计算必须转换类型
  • 多个输入推荐使用 split() + map()

Python3 内置函数 Python3 内置函数

AI 思考中...

2 篇笔记 写笔记

  1. #0

    Sakamoto

    175***[email protected]

    171

    与 print() 函数能输出多个参数不同,input() 函数的参数只能为单个字符串。

    如果需要输出多个参数作为提示信息,可以用 print() 代替。

    也可以使用格式化字符串把参数塞进字符串中:

    >>> lis = []
    >>> for i in range(2):
    ... lis.append(int(input(f'你想输入的第{i+1}个数字是?')))
    ... 
    你想输入的第1个数字是?55
    你想输入的第2个数字是?56
    >>> lis 
    [55, 56]

    Sakamoto

    175***[email protected]

    6年前 (2020年11月12日)
  2. #0

    jexjws

    jex***@qq.com

    80

    input() 返回一个字符串,对字符串使用 split(" ") 可对其按空格切分。

    代码:

    str=input()
    list=str.split(" ")
    print(list)

    测试:

    输入:

    122123 124532 7 654 56 3625 342 41 234

    输出:

    ['122123', '124532', '7', '654', '56', '3625', '342', '41', '234']

    我们还可以使用 int() 将输入的字符串转换成整数。

    代码:

    str=input()
    list=str.split(" ")
    # len(list)取得list的长度
    for i in range(0,len(list)):
     print("转换前,",list[i], "的类型是", type(list[i]))
     list[i]=int(list[i])
     print("转换后,",list[i],"的类型是",type(list[i]))

    测试:

    输入:

    1 22 33 444 55 66

    输出:

    转换前, 1 的类型是 <class 'str'>
    转换后, 1 的类型是 <class 'int'>
    转换前, 22 的类型是 <class 'str'>
    转换后, 22 的类型是 <class 'int'>
    转换前, 33 的类型是 <class 'str'>
    转换后, 33 的类型是 <class 'int'>
    转换前, 444 的类型是 <class 'str'>
    转换后, 444 的类型是 <class 'int'>
    转换前, 55 的类型是 <class 'str'>
    转换后, 55 的类型是 <class 'int'>
    转换前, 66 的类型是 <class 'str'>
    转换后, 66 的类型是 <class 'int'>

    jexjws

    jex***@qq.com

    5年前 (2022年01月16日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /