Python 中输入(input)、字符串的大小写、strip() 完全指南
第一部分:输入 —— input()
一、input() 是什么?
input() 是 Python 的内置函数,用来在程序运行过程中从用户那里获取输入。
- 程序执行到
input()时会暂停,等待用户在终端(或运行窗口)里输入内容 - 用户输入完毕按 后, 会把用户输入的内容当作返回
Python 的 input() 函数用于获取用户输入,默认返回字符串类型,需通过 int() 或 float() 转换方可进行数值运算。字符串内置方法支持大小写转换,包括 upper() 全大写、lower() 全小写、capitalize() 首字母大写、title() 单词首字母大写及 swapcase() 大小写互换,这些方法均返回新字符串而不修改原对象。strip() 及其变体 lstrip()、rstrip() 用于去除字符串首尾的空白字符或指定字符。在实际应用中,建议对用户输入先执行 strip() 清理空格,再结合大小写转换进行逻辑判断,以提高程序的健壮性。
input() 是 Python 的内置函数,用来在程序运行过程中从用户那里获取输入。
input() 时会暂停,等待用户在终端(或运行窗口)里输入内容input()最简单的例子:
name = input("请输入你的名字:")
print("你好,", name, "!")
运行后:
请输入你的名字:小明 然后回车你好, 小明 !变量 = input(提示文字)
示例:
# 有提示
age = input("请输入年龄:")
print("你输入的是:", age)
print("类型是:", type(age)) # <class 'str'>,注意是字符串!
# 无提示(不推荐,用户不知道要输入什么)
city = input()
print("城市:", city)
即使用户输入的是数字,input() 返回的也是字符串,不能直接做数学运算。
a = input("请输入一个数:") # 假设用户输入 10
b = input("再输入一个数:") # 假设用户输入 5
# print(a + b) # 错误!会得到 "105"(字符串拼接),不是 15
# print(a - b) # 错误!字符串不能做减法
# 正确:先转成整数或小数再运算
a = int(a)
b = int(b)
print("和:", a + b) # 15
print("差:", a - b) # 5
要把用户输入的'数字'拿来计算,需要先用 int() 或 float() 转换。
s = input("请输入年龄:") # 用户输入 18
age = int(s)
print(age + 1) # 19
# 也可以一行写(适合确定用户会输入合法数字时)
age = int(input("请输入年龄:"))
print("明年你", age + 1, "岁")
注意: 如果用户输入的不是整数形式(如 abc、18.5),int(...) 会报错。后面学异常处理时可以捕获这类错误。
s = input("请输入价格:") # 用户输入 19.5
price = float(s)
print(price * 2) # 39.0
# 一行写法
height = float(input("请输入身高(米):"))
print("身高:", height, "米")
如果只是要用户输入名字、地址等文字,直接用即可,不需要 int/float。
name = input("请输入姓名:")
print("欢迎,", name)
示例 1:简单问候
name = input("你叫什么名字?")
print("你好,", name, "!很高兴认识你。")
示例 2:输入两个数求和
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print("两数之和:", a + b)
示例 3:输入小数并计算
price = float(input("请输入单价:"))
num = int(input("请输入数量:"))
total = price * num
print("总价:", total)
示例 4:输入字符串并拼接
first = input("请输入姓:")
last = input("请输入名:")
full = first + last
print("全名:", full)
1. 用户直接回车(不输入任何内容)
input() 会返回空字符串"",不会报错int("") 会报错,可以在学完 if 后做'是否为空'的判断2. 在 PyCharm 或终端里输入时
3. 提示文字可以是空
input() 可以不带参数:x = input(),但用户不知道要输入什么,所以一般都会写提示在 Python 里,字符串有一组和大小写有关的方法,用来把字母变成全大写、全小写或首字母大写等。中文、数字、符号不受影响。
用法:字符串.upper()
作用: 把字符串里的所有英文字母都变成大写,得到新字符串,不修改原字符串。
s = "Hello Python"
print(s.upper()) # HELLO PYTHON
print(s) # Hello Python(原来的 s 没变)
# 想'保存'结果,要赋给变量
s = "Hello Python"
big = s.upper()
print(big) # HELLO PYTHON
示例:不区分大小写比较
answer = input("请输入 yes 或 no:")
if answer.upper() == "YES":
print("你选择了是") # 这样用户输入 yes、YES、Yes 都能被识别
用法:字符串.lower()
作用: 把字符串里的所有英文字母都变成小写。
s = "Hello Python"
print(s.lower()) # hello python
print(s) # Hello Python(原字符串不变)
# 常见用途:统一转成小写再比较
code = input("请输入验证码:")
if code.lower() == "abcd":
print("验证码正确")
用法:字符串.capitalize()
作用: 第一个字符大写,其余字母小写(只影响字母)。
s = "hello WORLD"
print(s.capitalize()) # Hello world
用法:字符串.title()
作用: 把字符串中每个单词的首字母变成大写,其余字母小写(以空格等分隔的算不同'单词')。
s = "hello world python"
print(s.title()) # Hello World Python
s = "it's a good day"
print(s.title()) # It'S A Good Day(注意:it's 里的 S 也会被大写,这是按'单词'来的)
用法:字符串.swapcase()
作用: 原来大写的变小写,原来小写的变大写。
s = "Hello Python"
print(s.swapcase()) # hELLO pYTHON
| 方法 | 作用 | 示例 |
|---|---|---|
s.upper() | 全变大写 | "Hi".upper() → "HI" |
s.lower() | 全变小写 | "Hi".lower() → "hi" |
s.capitalize() | 首字母大写,其余小写 | "hi".capitalize() → "Hi" |
s.title() | 每个单词首字母大写 | "hi there".title() → "Hi There" |
s.swapcase() | 大小写互换 | "Hi".swapcase() → "hI" |
注意: 这些方法都不修改原字符串,而是返回一个新字符串。要保留结果需要赋给变量或直接使用返回值。
s = " Hello "
s.upper() # 只是得到 " HELLO ",没有赋给谁,结果被丢弃
print(s) # 还是 " Hello "
s = s.upper() # 把结果赋回 s,s 才变成 " HELLO "
print(s) # HELLO
示例:统一按小写判断
choice = input("继续吗?(y/n):")
if choice.lower() == "y":
print("继续")
elif choice.lower() == "n":
print("退出")
else:
print("请输入 y 或 n")
示例:把用户输入的名字格式化成'首字母大写'
name = input("请输入姓名:")
name = name.strip().capitalize() # 先去空格,再首字母大写
print("你好,", name, "!")
用户用 input() 输入时,经常会在前面或后面多按空格。这些空格有时会导致比较或显示不好看,可以用 strip() 去掉。
用法:字符串.strip()
作用: 去掉字符串最左边和最右边的空白字符(空格、制表符 、换行符 等),不改变中间的空白,返回新字符串。
s = " Hello Python "
print(s.strip()) # Hello Python(左右空格没了)
print(s) # Hello Python (原字符串没变)
# 常见:处理 input 的输入
name = input("请输入名字:")
name = name.strip()
print("[", name, "]") # 用方括号可以看出前后是否还有空格
示例:有无 strip 的对比
# 用户输入 " 小明 "(前后有空格)
name = input("请输入名字:")
# 不 strip
if name == "小明":
print("欢迎") # 不会执行!因为 " 小明 " != "小明"
# 用 strip
name = name.strip()
if name == "小明":
print("欢迎") # 会执行
有时只需要去掉一侧的空白:
s = " Hello "
print(s.lstrip()) # "Hello "
print(s.rstrip()) # " Hello"
print(s.strip()) # "Hello"
示例:只去掉末尾换行(如读文件时)
line = "一行文字\n"
line = line.rstrip() # 去掉末尾的 \n
print(repr(line)) # '一行文字'
用法:字符串.strip(字符)
作用: 去掉两端出现的、在'字符'里的任意字符(不是去掉一整段,而是从左从右逐个去掉在集合里的字符)。
s = "***Hello***"
print(s.strip("*")) # Hello
s = "abcHelloabc"
print(s.strip("abc")) # Hello(两端只要在 "a","b","c" 里的都会被去掉)
s = "aqbcHelloabqc"
print(s.strip("abc")) # qbcHelloabq
注意: 不传参数时,strip() 默认去掉空白字符;传了参数就只去掉参数里的字符,不会默认再去掉空格。
s = " ** "
print(s.strip()) # "**"(只去空格)
print(s.strip(" *")) # ""(去掉空格和星号)
推荐习惯: 对用户输入先 strip() 再使用,避免前后空格导致判断错误。
# 推荐写法
name = input("请输入姓名:").strip()
age = input("请输入年龄:").strip()
age = int(age) # 若用户只输入空格,这里会报错,可后续学异常处理
# 多步写清楚也可以
name = input("请输入姓名:")
name = name.strip()
综合示例:输入 + 去空格 + 大小写
choice = input("请选择 A 或 B:").strip().upper()
if choice == "A":
print("你选了 A")
elif choice == "B":
print("你选了 B")
else:
print("请输入 A 或 B")
| 方法 | 作用 | 示例 |
|---|---|---|
s.strip() | 去掉两端空白 | " hi ".strip() → "hi" |
s.lstrip() | 只去掉左边空白 | " hi".lstrip() → "hi" |
s.rstrip() | 只去掉右边空白 | "hi ".rstrip() → "hi" |
s.strip("x") | 去掉两端在 'x' 里的字符 | "**hi**".strip("*") → "hi" |
# 程序:根据用户输入打招呼并判断是否继续
name = input("请输入你的名字:").strip()
name = name.capitalize()
print("你好,", name, "!")
choice = input("继续吗?(Y/N):").strip().upper()
if choice == "Y":
print("欢迎继续使用")
elif choice == "N":
print("再见")
else:
print("请输入 Y 或 N")
| 主题 | 要点 |
|---|---|
| input() | 暂停等待输入,返回字符串;可写提示:input("提示:") |
| 类型 | 要做运算时用 int() / float() 转换 |
| upper() | 全变大写,常用于不区分大小写比较 |
| lower() | 全变小写,同上 |
| title() | 每个单词首字母大写 |
| strip() | 去掉两端空白,建议对 input() 结果先 strip 再使用 |
| lstrip() / rstrip() | 只去左边或右边空白 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online