程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python每日一题(python输出每日一贴)

hfteth 2025-07-07 18:27:07 技术文章 3 ℃

一、问题描述

用数字 1、2、3、4 组成所有可能的 无重复数字的三位数,输出所有结果并统计总数。

二、解题思路

核心逻辑

1. 排列组合思想:三位数的百位、十位、个位需从4个数字中选取,且不能重复。

2. 三重循环遍历:

- 百位 a :遍历 1~4

- 十位 b :遍历 1~4 ,但需排除 a

- 个位 c :遍历 1~4 ,需排除 a 和 b

3. 条件判断:确保 a≠b≠c 。

优化点

- 用 range(1, 5) 简化数字遍历(涵盖1~4)。

- 结果用列表存储,方便统计总数。

三、代码实现

python

# 初始化结果列表

three_digits = []


# 三重循环遍历所有可能

for a in range(1, 5): # 百位

for b in range(1, 5): # 十位

if b == a:

continue # 跳过与百位重复的情况

for c in range(1, 5): # 个位

if c != a and c != b: # 排除与百位、十位重复的情况

num = a * 100 + b * 10 + c

three_digits.append(num)


# 输出结果

print("所有无重复三位数:")

for num in three_digits:

print(num, end=" ")

print(f"\n总数:{len(three_digits)}个")


四、运行结果

plaintext

所有无重复三位数:

123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432

总数:24个

最近发表
标签列表