Python 编程练习:三位数判断、爱因斯坦阶梯、数字合并和闰年判断
Python 编程练习:三位数判断、爱因斯坦阶梯、数字合并和闰年判断
1. 编写程序,输出满足以下条件的所有三位数:只有百位和个位数字相同且十位数为百位和个位数字之和。
for num in range(100, 1000):
hundreds = num // 100
units = num % 10
tens = (num // 10) % 10
if hundreds == units and tens == (hundreds + units):
print(num)
在上述代码中,我们使用一个循环遍历从 100 到 999 之间的所有的三位数。对于每个数,我们通过除法和取余操作分别提取出百位、十位和个位数字。然后,我们判断百位和个位数字是否相同,以及十位数字是否等于百位和个位数字之和。如果满足这些条件,我们就将该数输出。
2. 爱因斯坦阶梯问题:有多级阶梯,每步跨 2 阶余 1 阶、每步跨 3 阶余 2 阶、每步跨 4 阶余 3 阶、每步跨 5 阶余 4 阶、每步跨 6 阶余 5 阶、每步跨 7 阶正好,求解该阶梯一共有多少阶梯。
num = 0
while True:
num += 1
if num % 2 == 1 and \
num % 3 == 2 and \
num % 4 == 3 and \
num % 5 == 4 and \
num % 6 == 5 and \
num % 7 == 0:
print('阶梯总数为:', num)
break
在上述代码中,我们使用一个循环遍历所有可能的阶梯数量。对于每个数,我们分别检查是否满足每步跨阶数余数的条件。如果满足所有条件,我们就输出该数作为阶梯的总数,并使用 break 语句退出循环。
3. 从键盘输入两个整数 a 和 b 合并成一个新的四位数 c,例如:a = 13,b = 72,则 c 的值为 1732。要求使用函数实现数据合并功能。
def merge_numbers(a, b):
str_a = str(a)
str_b = str(b)
c = int(str_a + str_b)
return c
a = int(input('请输入整数 a:'))
b = int(input('请输入整数 b:'))
c = merge_numbers(a, b)
print('合并后的数 c 为:', c)
在上述代码中,我们定义了一个函数 merge_numbers,该函数接收两个整数 a 和 b,将它们转换为字符串并进行拼接,然后再将拼接后的字符串转换为整数 c,最后返回合并后的结果。
在主程序中,我们通过 input 函数从键盘输入整数 a 和 b,然后调用 merge_numbers 函数合并它们,并将结果保存到变量 c 中。最后,我们输出合并后的数 c。
4. 编写一个实现判断闰年的程序,要求闰年判断使用函数实现。
def is_leap_year(year):
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
else:
return False
year = int(input('请输入一个年份:'))
if is_leap_year(year):
print(year, '是闰年')
else:
print(year, '不是闰年')
在上述代码中,我们定义了一个函数 is_leap_year,该函数接收一个年份 year 作为参数,并根据闰年判断的规则返回布尔值。函数内部进行了多个条件判断,根据规则判断年份是否为闰年。
在主程序中,我们通过 input 函数从键盘输入一个年份,并调用 is_leap_year 函数判断该年份是否为闰年。根据函数的返回结果,我们输出相应的提示信息。
总结:
本文介绍了几个 Python 编程练习的解决方案,包括三位数判断、爱因斯坦阶梯、数字合并和闰年判断。通过这些代码示例,你可以学习如何使用循环、条件判断、函数等 Python 语法元素来解决实际问题。
原文地址: http://www.cveoy.top/t/topic/qOp 著作权归作者所有。请勿转载和采集!