Python 程序:帮助桃子跳过倒霉数字
以下是使用 Python 编写的程序,用于解决桃子数数字跳过倒霉数字的问题: ```python n = int(input("请输入一个正整数 n:")) for i in range(1, n + 1): # 判断数字是否是 4 的倍数或者包含 4 if i % 4 == 0 or '4' in str(i): continue print(i) ``` ### 代码解释 1. **输入处理**: - 使用 `input` 函数获取用户输入的正整数 `n`,并使用 `int` 函数将其转换为整数类型。 2. **循环遍历**: - 使用 `for` 循环从 1 到 `n` 遍历每个数字。 3. **判断倒霉数字**: - 使用条件判断 `i % 4 == 0 or '4' in str(i)` 来判断当前数字是否是 4 的倍数或者包含 4。 - 如果是倒霉数字,则使用 `continue` 语句跳过当前循环,继续下一个数字。 4. **输出正常数字**: - 如果当前数字不是倒霉数字,则使用 `print` 函数将其输出。 ### 开发建议 - **输入验证**:当前程序没有对用户输入进行验证,可能会导致输入非正整数时出现错误。可以添加输入验证代码,确保用户输入的是正整数。 - **函数封装**:可以将核心逻辑封装到一个函数中,提高代码的复用性。 以下是优化后的代码: ```python def skip_unlucky_numbers(n): result = [] for i in range(1, n + 1): if i % 4 == 0 or '4' in str(i): continue result.append(i) return result while True: try: n = int(input("请输入一个正整数 n:")) if n > 0: numbers = skip_unlucky_numbers(n) for num in numbers: print(num) break else: print("输入的数字必须是正整数,请重新输入。") except ValueError: print("输入无效,请输入一个正整数。") ``` ### 代码解释 1. **函数封装**: - `skip_unlucky_numbers` 函数接受一个正整数 `n` 作为参数,返回从 1 到 `n` 中跳过倒霉数字的列表。 2. **输入验证**: - 使用 `while True` 循环和 `try-except` 语句来确保用户输入的是正整数。 - 如果输入无效,则提示用户重新输入。 ### 学习资源 - Python 官方文档:https://docs.python.org/3/ - 《Python 编程从入门到实践》:一本适合初学者的 Python 编程书籍。 ######[AI写代码神器 | 663点数解答 | 2026-08-24 17:19:14]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)626
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)164
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)179
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)574
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)564
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)417
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)428
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)394
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)195
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)182
- Python实现数字是否为3的倍数判断及输出(字节豆包 | 508点数解答 | 2026-05-31 14:10:46)101
- C++实现数字倍数判断及输出(字节豆包 | 741点数解答 | 2026-05-31 14:11:48)86