• Python
  • Python 第六课:字符串操作与数值分解

  • @ 2025-6-8 16:38:53

Python 第六课:字符串操作与数值分解

一、知识回顾

在上一课中,我们学习了:

  • 逻辑运算符(andornot)的用法。
  • 如何通过条件判断实现复杂的逻辑,如成绩评定、闰年判断等。

本节课我们将学习字符串的常用操作stripsplit、索引)以及整数的数值分解,这些知识在处理输入数据、格式化输出时非常实用。

二、字符串操作详解

字符串是 Python 中最常用的数据类型之一,我们可以通过一系列方法操作字符串。

2.1 strip():去除首尾空格

  • 作用:删除字符串开头和结尾的空白字符(空格、换行符等)。
  • 语法字符串.strip()
  • 示例
# 原始字符串包含首尾空格
s = "      34  5      "
# 去除首尾空格
result = s.strip()
print(result)  # 输出: '34  5'

2.2 split():分割字符串

  • 作用:按指定分隔符(默认是空格)将字符串拆分为列表。
  • 语法
    • 字符串.split():默认按空格分割(连续空格会被视为一个分隔符)。
    • 字符串.split('分隔符'):按指定字符分割。
  • 示例
# 按空格分割
s = "3 4 56      78"
result = s.split()
print(result)  # 输出: ['3', '4', '56', '78']

# 按 'A' 分割
s = "231 34 324 A 231A1"
result = s.split('A')
print(result)  # 输出: ['231 34 324 ', ' 231', '1']

2.3 字符串索引:提取单个字符

  • 作用:通过索引(下标)提取字符串中的单个字符,索引从 0 开始。
  • 语法字符串[索引]
  • 示例
s = "abc"
# 提取第一个字符(索引 0)
print(s[0])  # 输出: 'a'
# 提取第二个字符(索引 1)
print(s[1])  # 输出: 'b'
# 提取第三个字符(索引 2)
print(s[2])  # 输出: 'c'

三、数值分解:拆分整数的每一位

对于整数,我们可以通过数学运算(取模 %、整除 //)拆分出每一位的数字。

3.1 原理

  • 取模 % 10:获取整数的最后一位。
  • 整除 // 10:去掉整数的最后一位。
  • 重复上述步骤,可依次获取每一位数字。

3.2 示例:拆分三位数

a = int(input())  # 输入一个整数,如 358
# 获取个位(最后一位)
unit = a % 10
# 去掉个位后,获取十位
ten = a // 10 % 10
# 去掉个位和十位后,获取百位
hundred = a // 100 % 10
# 反向拼接(如 358 → 853)
print(unit, ten, hundred, sep="")

四、综合案例

4.1 案例 1:计算两数乘积

题目:输入两个正整数,输出它们的乘积。

# 一步实现:输入处理 + 分割 + 类型转换 + 计算
a, b = input().strip().split()
a, b = int(a), int(b)
print(a * b)

4.2 案例 2:按从小到大输出两个数

题目:输入两个整数,按从小到大的顺序输出。

# 输入处理
a, b = input().strip().split()
a, b = int(a), int(b)
# 条件判断
if a < b:
    print(a, b)
else:
    print(b, a)

4.3 案例 3:反向输出三位数

题目:输入一个三位数,反向输出(如 358853)。

a = input()  # 输入字符串形式的三位数,如 "358"
# 通过索引提取每一位
print(a[2] + a[1] + a[0])

4.4 案例 4:数值分解(通用版)

题目:输入任意整数,拆分每一位并反向输出。

a = input().strip()  # 按字符串处理
# 直接通过索引反向拼接
print(a[::-1])

五、实战练习

5.1 练习 1:字符串操作

题目:输入一个带空格的字符串,去除首尾空格后,按空格分割并输出列表。

ss = input()
ss = ss.strip()
result = ss.split()
print(result)

5.2 练习 2:数值分解

题目:输入一个四位数(如 1234),拆分出每一位并按 4 3 2 1 的顺序输出。

a = input()
# 索引从 0 到 3(四位数)
print(a[3], a[2], a[1], a[0], sep=" ")

5.3 课后作业

题目:输入一个整数(任意位数),计算其各位数字之和。
提示

  1. 将整数转为字符串,遍历每一位。
  2. 或通过数学运算拆分每一位并累加。

六、总结

  1. 字符串操作
    • strip():去除首尾空格。
    • split():按分隔符拆分字符串。
    • 索引 [ ]:提取单个字符。
  2. 数值分解:通过 %// 拆分整数的每一位,或通过字符串索引直接处理。
  3. 综合案例:结合字符串操作和条件判断,实现输入处理、数值计算等功能。

下节课我们将学习循环语句,让程序可以重复执行代码块,处理更复杂的逻辑!

2 条评论

  • @ 2025-6-8 16:51:17

    Python 第六课教程:字符串与输入处理

    一、课程目标

    在这节课中,我们将学习如何使用Python处理用户输入和操作字符串。我们将通过实例代码来了解input()函数、strip()方法、split()方法以及如何将字符串转换为整数。

    二、主要内容

    1. 接收用户输入

      • 使用input()函数获取用户输入。
      user_input = input("请输入一些内容: ")
      print("你输入的是:", user_input)
      
    2. 去除字符串两端的空白字符

      • 使用strip()方法移除字符串开头和结尾的空格(或其他空白字符)。
      original_string = "    Hello, World!    "
      cleaned_string = original_string.strip()
      print(cleaned_string)  # 输出: "Hello, World!"
      
    3. 分割字符串

      • split()方法可以按照指定的分隔符将字符串分割成列表。
      numbers = "100 200 300"
      number_list = numbers.split()  # 默认以空格作为分隔符
      print(number_list)  # 输出: ['100', '200', '300']
      
    4. 字符串拼接与类型转换

      • 将字符串转换为整数后进行数学运算。
      a, b = input().strip().split()
      a, b = int(a), int(b)
      print(a + b)  # 输入"3 5"时输出8
      

    三、实例应用

    • 示例1:温度判断 根据输入的温度值判断是否适合晨练。

      t = int(input("请输入当前温度(℃): "))
      if 25 <= t <= 30:
          print("ok!")
      else:
          print("no!")
      
    • 示例2:A×B问题 输入两个正整数A和B,求A × B的值。

      a, b = map(int, input("请输入两个数字,用空格分开: ").split())
      print(a * b)
      
    • 示例3:比大小 输入两个整数,并按从小到大的顺序输出。

      a, b = map(int, input("请输入两个整数,用空格分开: ").split())
      if a < b:
          print(a, b)
      else:
          print(b, a)
      

    四、总结

    这节课我们探讨了如何在Python中有效处理用户输入和操作字符串。理解这些概念对于编写交互式程序至关重要。请尝试自己动手实现上述例子,并探索更多关于字符串处理的方法。

    • @ 2025-6-8 16:49:38

      Python 第六课:字符串操作与数值分解

      一、知识回顾

      在上一课中,我们学习了逻辑运算符(andornot)的使用方法以及如何通过条件判断实现复杂的逻辑。本节课我们将深入探讨字符串的常用操作(如 stripsplit 方法及索引使用)和整数的数值分解技巧,这些都是处理输入数据、格式化输出时非常实用的知识点。

      二、字符串操作详解

      2.1 strip():去除首尾空格

      • 作用:删除字符串开头和结尾的空白字符。
      • 示例代码
      s = "      34  5      "
      result = s.strip()  # '34  5'
      print(result)
      

      2.2 split():分割字符串

      • 作用:按指定分隔符将字符串拆分为列表,默认是空格。
      • 示例代码
      # 默认按空格分割
      s = "3 4 56      78"
      result = s.split()  # ['3', '4', '56', '78']
      print(result)
      
      # 按 'A' 分割
      s = "231 34 324 A 231A1"
      result = s.split('A')  # ['231 34 324 ', ' 231', '1']
      print(result)
      

      2.3 字符串索引:提取单个字符

      • 作用:通过索引获取字符串中的特定字符。
      • 示例代码
      s = "abc"
      print(s[0])  # 'a'
      print(s[1])  # 'b'
      print(s[2])  # 'c'
      

      三、数值分解:拆分整数的每一位

      3.1 原理

      通过取模 % 和整除 // 可以逐步拆分出整数的每一位数字。

      3.2 示例代码:拆分三位数

      a = int(input("请输入一个三位数: "))  # 如 358
      unit = a % 10  # 获取个位
      ten = a // 10 % 10  # 获取十位
      hundred = a // 100 % 10  # 获取百位
      print(unit, ten, hundred, sep="")
      

      四、综合案例

      案例 1:计算两数乘积

      a, b = input().strip().split()
      a, b = int(a), int(b)
      print(a * b)
      

      案例 2:按从小到大输出两个数

      a, b = input().strip().split()
      a, b = int(a), int(b)
      if a < b:
          print(a, b)
      else:
          print(b, a)
      

      案例 3:反向输出三位数

      a = input("请输入一个三位数: ")  # 如 "358"
      print(a[2] + a[1] + a[0])
      

      案例 4:数值分解(通用版)

      a = input().strip()
      print(a[::-1])
      

      五、实战练习

      练习 1:字符串操作

      要求用户输入一个带空格的字符串,去除首尾空格后,按空格分割并输出列表。

      ss = input("请输入一个带空格的字符串: ")
      ss = ss.strip()
      result = ss.split()
      print(result)
      

      练习 2:数值分解

      输入一个四位数(如 1234),拆分出每一位并按逆序输出。

      a = input("请输入一个四位数: ")
      print(a[3], a[2], a[1], a[0], sep=" ")
      

      六、总结

      • 字符串操作包括去除首尾空格的strip()方法,根据分隔符拆分字符串的split()方法,以及通过索引访问单个字符。
      • 数值分解可以通过数学运算(如取模和整除)来拆分整数的每一位,或者直接转换为字符串后利用索引进行处理。
      • 结合上述技能,可以有效解决诸如条件判断、数据处理等编程问题。

      希望这个教程能帮助你更好地理解和掌握Python中字符串操作和数值分解的相关知识!如果有任何疑问或需要进一步的帮助,请随时提问。

      • 1