用DeepSeek 查询结果:以下是将前两个需求整合后的完整可执行程序解决方案,包含源代码和打包说明:
一、完整程序代码(保存为random_generator.py)
python
复制
import random
import sys
def generate_random_number():
"""生成1-36位随机数"""
num_digits = random.randint(1, 36)
if num_digits == 1:
return str(random.randint(0, 9))
digits = [str(random.randint(1, 9))]
digits += [str(random.randint(0, 9)) for _ in range(num_digits - 1)]
return ''.join(digits)
def lottery_numbers(mode='lottery'):
"""生成5个1-36的随机数"""
if mode == 'lottery':
nums = random.sample(range(1, 37), 5)
nums.sort()
return nums
else:
return [random.randint(1, 36) for _ in range(5)]
def main():
while True:
print("\n" + "="*40)
print("随机数生成器 v2.0")
print("="*40)
print("1. 生成任意长度随机数(1-36位)")
print("2. 生成彩票号码(5个不重复数字)")
print("3. 生成可重复实验数字")
print("4. 退出程序")
choice = input("请选择模式 (1-4): ")
if choice == '1':
result = generate_random_number()
print(f"\n生成的 {len(result)} 位随机数:\n{result}")
elif choice == '2':
nums = lottery_numbers()
formatted = ' '.join([f"{n:02d}" for n in nums])
print(f"\n彩票号码:\n{formatted}")
elif choice == '3':
nums = lottery_numbers('experiment')
formatted = ' '.join([f"{n:02d}" for n in nums])
print(f"\n实验随机数:\n{formatted}")
elif choice == '4':
print("\n感谢使用!")
sys.exit()
else:
print("\n无效输入,请重新选择")
input("\n按回车键继续...")
if __name__ == "__main__":
main()
二、打包步骤(使用PyInstaller)
- 安装依赖
bash
复制
pip install pyinstaller
- 创建spec文件(可选)
bash
复制
pyi-makespec --onefile random_generator.py
- 执行打包
bash
复制
pyinstaller --onefile --clean --noconsole random_generator.py
三、文件结构
复制
dist/
└── random_generator.exe # Windows可执行文件
src/
├── random_generator.py # 源代码
└── build/ # 临时构建目录
四、程序功能说明
模式 | 功能描述 | 输出示例 |
1 | 生成1-36位超大随机数 | 2389571029837465... |
2 | 生成5个不重复的彩票号码 | 05 12 23 29 36 |
3 | 生成5个可重复的实验数字 | 17 08 17 31 22 |
4 | 退出程序 | - |
五、高级打包配置(添加图标)
- 准备ICO图标文件(推荐尺寸:256x256)
- 执行带图标的打包命令:
bash
复制
pyinstaller --onefile --icon=myicon.ico random_generator.py