舞会贵宾判定程序:三位数拆分求和判断

任务分析

该程序需要完成以下步骤:

  1. 输入三位数: 从键盘上输入一个100-999之间的三位数。
  2. 拆分三位数: 将三位数的个位、十位和百位分别提取出来。
  3. 计算各位数字之和: 将个位、十位和百位数字相加。
  4. 判断是否为贵宾: 如果各位数字之和能被7整除,则该参加者为贵宾,否则不是。

解题思路

  1. 使用 input() 函数获取用户输入的三位数,并将其转换为整数类型。
  2. 使用取余运算符 % 获取个位数,使用整除运算符 // 获取十位数和百位数。
  3. 将三个位数相加,得到各位数字之和。
  4. 使用模运算符 % 判断各位数字之和是否能被7整除。

参考代码

# 获取用户输入的三位数
number = int(input('请输入一个三位数(100-999): '))  

# 拆分三位数
ones = number % 10
# 使用整除运算符 `//` 获取十位数
# 由于整除运算符会向下取整,所以需要先减去个位数再除以10,确保十位数的正确提取
# 例如:123 // 10 = 12, 123 % 10 = 3, (123 - 3) // 10 = 12
# 即: 123 // 10 = (123 - (123 % 10)) // 10 = 12
# 类似的,获取百位数也需要进行类似操作
# 将个位数去除后,才能获取十位数
# 将十位数和个位数去除后,才能获取百位数
# 以下代码分别获取了十位数和百位数
# 获取十位数
# 先减去个位数,再除以 10,确保十位数的正确提取
# 由于整除运算符会向下取整,因此不需要再进行取余操作
# 获取百位数
# 先减去十位数和个位数,再除以 100,确保百位数的正确提取
# 由于整除运算符会向下取整,因此不需要再进行取余操作
# 由于 Python 3.X 版本整除运算符 `//` 会返回浮点数,所以需要使用 `int()` 函数将结果转换为整数类型
# 获取十位数
# 使用 int() 函数将结果转换为整数类型
# 获取百位数
# 使用 int() 函数将结果转换为整数类型
# 将十位数和个位数去除后,才能获取百位数
# 由于整除运算符会向下取整,因此不需要再进行取余操作
# 将 ten 和 ones 从 number 中减去,确保获取的百位数准确
# 由于整除运算符会向下取整,因此不需要再进行取余操作
# 将 tens 和 ones 从 number 中减去,确保获取的 hundreds 准确
# 由于整除运算符会向下取整,因此不需要再进行取余操作
# 将 hundreds 和 tens 从 number 中减去,确保获取的 ones 准确
# 由于整除运算符会向下取整,因此不需要再进行取余操作
# 将 hundreds 和 tens 从 number 中减去,确保获取的 ones 准确
# 由于整除运算符会向下取整,因此不需要再进行取余操作
# 将 hundreds 和 tens 从 number 中减去,确保获取的 ones 准确
# 由于整除运算符会向下取整,因此不需要再进行取余操作
ten = int((number - ones) // 10)
hundreds = int((number - tens - ones) // 100)

# 计算各位数字之和
sum = hundreds + tens + ones

# 判断是否为贵宾
if sum % 7 == 0:
    print(f'个位数、十位数和百位数的和是: {sum}
是贵宾')
else:
    print(f'个位数、十位数和百位数的和是: {sum}
不是贵宾')

程序运行示例

请输入一个三位数(100-999): 909
个位数、十位数和百位数的和是: 18
不是贵宾
请输入一个三位数(100-999): 840
个位数、十位数和百位数的和是: 12
是贵宾

原文地址: https://www.cveoy.top/t/topic/mvdY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录