跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 人生重开模拟器简易版实现

Python 人生重开模拟器通过设定颜值体质智力家境初始属性,结合随机数生成性别与出生背景。游戏涵盖童年、青年、壮年、老年阶段,依据属性值与年龄触发不同事件,动态调整各项数值。程序采用循环与条件判断结构模拟人生历程,支持用户交互输入及实时状态展示,完整代码包含导入模块、属性校验、事件逻辑及系统退出机制。

颠三倒四发布于 2025/10/14更新于 2026/6/1221 浏览

一、角色初始属性设置

在游戏中设定四个属性:颜值(face)、体质(strong)、智力(iq)、家境(home)。

约定每个属性范围为 [1, 10],且总和不超过 20。对于用户非法输入属性值,给予提示并重新输入。采用 while 循环和 if、continue、break 关键字结合。

while True:
    print("请设定初始属性 (总点数为 20)")
    face = int(input("设定 颜值 (1-10):"))
    strong = int(input("设定 体质 (1-10):"))
    iq = int(input("设定 智力 (1-10):"))
    home = int(input("设定 家境 (1-10):"))
    
    if face < 1 or face > 10:
        print("颜值设置有误!")
        continue
    if strong < 1 or strong > 10:
        print("体质设置有误!")
        continue
    if iq < 1 or iq > 10:
        print("智力设置有误!")
        continue
    if home < 1 or home > 10:
        print("家境设置有误!")
        continue
    if face + strong + iq + home > 20:
        print("总点数超过了 20!")
        continue
    
    print("初始属性设置完成!")
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    break

二、初始性别设置

通过 random.randint() 生成 1~6 的随机数,单数为男孩,双数为女孩。

import random
point = random.randint(1, 6) # 单数为男,双数为女
if point % 2 == 1:
    gender = 'boy'
    print("你是个男孩")
else:
    gender = "girl"
    print("你是个女孩")

三、设置出生点

根据家境(home)分成四档,不同档位对应不同的属性加成或扣除情况。使用 random.randint 生成 1~3 随机数进行细分,主要用 if-elif-else 结构完成。

point = random.randint(1, 3)
if home == 10:  # 第一档
    print("你出生在帝都,你的父母是高官政要")
    iq += 1
    face += 1
    home += 1
elif 7 <= home <= 9:  # 第二档
    if point == 1:
        print("你出生在大城市,你的父母是企业高管")
        home += 2
    elif point == 2:
        print("你出生在大城市,你的父母是公务员")
        face += 2
    else:
        print("你出生在大城市,你的父母是大学教授")
        iq += 2
elif 4 <= home <= 6:  # 第三档
    if point == 1:
        print("你出生在三线城市,你的父母是老师")
        iq += 1
    elif point == 2:
        print("你出生在三线城市,你的父母是医生")
        face += 1
    else:
        print("你出生在镇上,你的父母是个体户")
        home += 1
else:  # 第四档
    if point == 1:
        print("你出生在农村,你的父母是辛勤劳作的农民")
        strong += 1
        face -= 1
    elif point == 2:
        print("你出生在穷乡僻壤,你的父母是无业游民")
        home -= 1
    else:
        print("你出生在镇上,你的父母感情不和")
print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
print("------------------------------------")

四、不同阶段的事件(以童年阶段为例)

童年阶段 [1, 10] 可塑性较强,颜值、体质、智力会有显著变化。整体使用 for 循环按年龄循环,根据性别、年龄、颜值等属性触发不同事件。每年末打印事件,使用 time.sleep(1) 暂停程序 1s 便于观察结果。若夭折,直接 sys.exit(0) 退出程序。

import sys
import time

for age in range(1, 11):
    info = f'你今年{age}岁.'
    point = random.randint(1, 3)
    
    # 性别触发事件
    if gender == 'girl' and home <= 3 and point == 1:
        info += "你家里人重男轻女思想很严重,你被遗弃了!"
        print(info)
        print("游戏结束!")
        sys.exit(0)
    
    # 颜值触发事件
    elif face <= 3 and age >= 7:
        info += '你长得太丑了,别的小朋友都不喜欢你.'
        if iq > 5:
            info += '你决定学习知识来填充自己.'
            iq += 1
        else:
            if gender == 'girl':
                info += '你经常被别的小朋友欺负!'
                strong -= 1
            else:
                info += '你经常和别的小朋友打架!'
                strong -= 1
                iq -= 1
    
    # 体质触发事件
    elif strong <= 6 and 1 <= point < 3:
        info += '你生了一场大病.'
        if home >= 5:
            info += '在家人的悉心照顾下,你的病痊愈了.'
            strong += 1
            home -= 1
        else:
            info += '你的父母没精力管你,你的身体状况更糟糕了.'
            strong -= 1
    
    # 智力触发事件
    elif iq <= 4:
        info += '你看起来傻傻的.'
        if home >= 8 and age >= 6:
            info += '你的父母把你送到更好的学校学习.'
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓励你多运动,争取成为运动员.'
                strong += 1
            else:
                info += '你的父母鼓励你多打扮自己.'
                face += 1
        else:
            info += '你的父母经常因为你而争吵.'
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
    
    # 健康成长
    else:
        info += '你健康成长.'
        if point == 1:
            strong += 1
            info += '你变的更结实了.'
        elif point == 2:
            face += 1
            info += '你变的更好看了.'
        else:
            pass
    
    print(info)
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    print("------------------------------------")
    time.sleep(1)

五、后记

后续的青年阶段 [11, 20],壮年阶段 [21, 50],老年阶段 [51, 100] 使用的逻辑和童年阶段一致,不同的是每年触发的事件。对于事件发生的逻辑不够完整,需用户自行调整完善。

六、源代码

import random
import sys
import time

# 打印欢迎界面
print("+--------------------------------+")
print("| |")
print("| 花有重开日,人无再少年 |")
print("| |")
print("| 欢迎来到人生重开模拟器 |")
print("| |")
print("+--------------------------------+")

# 设置初始属性
while True:
    print("请设定初始属性 (总点数为 20)")
    try:
        face = int(input("设定 颜值 (1-10):"))
        strong = int(input("设定 体质 (1-10):"))
        iq = int(input("设定 智力 (1-10):"))
        home = int(input("设定 家境 (1-10):"))
    except ValueError:
        print("请输入整数!")
        continue

    if face < 1 or face > 10:
        print("颜值设置有误!")
        continue
    if strong < 1 or strong > 10:
        print("体质设置有误!")
        continue
    if iq < 1 or iq > 10:
        print("智力设置有误!")
        continue
    if home < 1 or home > 10:
        print("家境设置有误!")
        continue
    if face + strong + iq + home > 20:
        print("总点数超过了 20!")
        continue

    print("初始属性设置完成!")
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    break

print("------------------------------------")

# 初始化性别
point = random.randint(1, 6)
if point % 2 == 1:
    gender = 'boy'
    print("你是个男孩")
else:
    gender = "girl"
    print("你是个女孩")

# 设置出生点
point = random.randint(1, 3)
if home == 10:
    print("你出生在帝都,你的父母是高官政要")
    iq += 1
    face += 1
    home += 1
elif 7 <= home <= 9:
    if point == 1:
        print("你出生在大城市,你的父母是企业高管")
        home += 2
    elif point == 2:
        print("你出生在大城市,你的父母是公务员")
        face += 2
    else:
        print("你出生在大城市,你的父母是大学教授")
        iq += 2
elif 4 <= home <= 6:
    if point == 1:
        print("你出生在三线城市,你的父母是老师")
        iq += 1
    elif point == 2:
        print("你出生在三线城市,你的父母是医生")
        face += 1
    else:
        print("你出生在镇上,你的父母是个体户")
        home += 1
else:
    if point == 1:
        print("你出生在农村,你的父母是辛勤劳作的农民")
        strong += 1
        face -= 1
    elif point == 2:
        print("你出生在穷乡僻壤,你的父母是无业游民")
        home -= 1
    else:
        print("你出生在镇上,你的父母感情不和")
print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
print("------------------------------------")

# 幼年时期
for age in range(1, 11):
    info = f'你今年{age}岁.'
    point = random.randint(1, 3)
    if gender == 'girl' and home <= 3 and point == 1:
        info += "你家里人重男轻女思想很严重,你被遗弃了!"
        print(info)
        print("游戏结束!")
        sys.exit(0)
    elif face <= 3 and age >= 7:
        info += '你长得太丑了,别的小朋友都不喜欢你.'
        if iq > 5:
            info += '你决定学习知识来填充自己.'
            iq += 1
        else:
            if gender == 'girl':
                info += '你经常被别的小朋友欺负!'
                strong -= 1
            else:
                info += '你经常和别的小朋友打架!'
                strong -= 1
                iq -= 1
    elif strong <= 6 and 1 <= point < 3:
        info += '你生了一场大病.'
        if home >= 5:
            info += '在家人的悉心照顾下,你的病痊愈了.'
            strong += 1
            home -= 1
        else:
            info += '你的父母没精力管你,你的身体状况更糟糕了.'
            strong -= 1
    elif iq <= 4:
        info += '你看起来傻傻的.'
        if home >= 8 and age >= 6:
            info += '你的父母把你送到更好的学校学习.'
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓励你多运动,争取成为运动员.'
                strong += 1
            else:
                info += '你的父母鼓励你多打扮自己.'
                face += 1
        else:
            info += '你的父母经常因为你而争吵.'
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
    else:
        info += '你健康成长.'
        if point == 1:
            strong += 1
            info += '你变的更结实了.'
        elif point == 2:
            face += 1
            info += '你变的更好看了.'
        else:
            pass
    print(info)
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    print("------------------------------------")
    time.sleep(1)

# 青年阶段
for age in range(11, 21):
    info = f'你今年{age}岁,'
    point = random.randint(1, 3)
    if face >= 7 and home >= 7 and 1 <= point <= 2:
        info += '你的家境十分优渥,且长相出众,在学校深受同学追捧'
    elif strong >= 8 and age == 15:
        info += '你的体育天赋很高,'
        if gender == 'boy' and iq <= 4:
            info += '但是你的学习成绩很差,中考过后去了普通高中'
        if 2 <= point < 3:
            info += '取得了短跑省赛冠军,获得了进入国家队的资格'
            strong += 1
        else:
            if home <= 4 and point == 1:
                info += '但是家庭困难,你无法兼顾家庭和学习,最终体育天赋被埋没,放弃中考辍学回家'
                strong -= 2
                iq -= 1
            elif home >= 8 and iq >= 6:
                info += '你的家人在学习和体育方面着重培养你,最终进入重点高中'
                home -= 1
                iq += 1
                strong += 1
    elif iq >= 6:
        info += '你的学习成绩中等,'
        if age == 18 and 4 <= face <= 7 and point == 3:
            info += '且小有姿色,在高三这年你和他人谈恋爱,导致学习成绩下滑,'
            iq -= 2
        if home >= 8:
            info += '你的父母选择把你送出国深造'
            home -= 2
            iq += 1
        elif 5 <= home < 7:
            info += '最终去了民办二本'
            home -= 1
        else:
            info += '你的家庭负担不起民办费用,最终你去了大专'
        elif home >= 5 and 1 <= point < 3:
            info += '家里人请老师给你补课,学习成绩有所提升'
            iq += 1
        else:
            if point == 1:
                info += '你的成绩提高了'
                iq += 1
            elif point == 2:
                info += '你的成绩没变'
            else:
                info += '你的成绩更好了,身体素质也有所提高'
                iq += 1
                strong += 1
    else:
        info += '你健康成长,'
        if point == 1:
            info += '你的学习成绩提高了'
            iq += 1
        elif point == 2:
            info += '你变得更好看了'
            face += 1
        else:
            pass
    print(info)
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    print("------------------------------------")
    time.sleep(1)

# 壮年时期
for age in range(21, 51):
    info = f'你今年{age}岁,'
    point = random.randint(1, 3)
    if iq >= 6 and age <= 22:
        if home >= 7:
            info += '你的父母决定毕业后送你到国外深造'
            home -= 1
            iq += 1
        elif 4 <= home < 6 and point == 2:
            info += '你获得了保研资格'
            iq += 1
        elif home < 4:
            info += '为了补贴家里,大学期间你天天逃课兼职,毕业困难'
            iq -= 1
        else:
            info += '你和往常一样过着平淡的日子'
    else:
        info += '你和许多普通人一样,每天朝九晚五'
    if point == 1:
        info += ',你升职了'
        home += 1
    elif point == 2:
        info += ',你被开除了'
        home -= 1
    else:
        pass
    print(info)
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    print("------------------------------------")
    time.sleep(1)

# 老年阶段
for age in range(51, 100):
    info = f'你今年{age}岁,'
    point = random.randint(1, 3)
    if gender == 'boy':
        info += '你子孙满堂,家庭美满'
        home += 1
    if strong < 4:
        info += ',你重病缠身,即将不久于世'
        print('游戏结束!')
        sys.exit(0)
    else:
        info += ',你老当益壮,每天强身健体'
        if point == 1:
            strong += 1
        else:
            info += '你平淡的过完这一生'
    print(info)
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    print("------------------------------------")
    time.sleep(1)

目录

  1. 一、角色初始属性设置
  2. 二、初始性别设置
  3. 三、设置出生点
  4. 四、不同阶段的事件(以童年阶段为例)
  5. 五、后记
  6. 六、源代码
  7. 打印欢迎界面
  8. 设置初始属性
  9. 初始化性别
  10. 设置出生点
  11. 幼年时期
  12. 青年阶段
  13. 壮年时期
  14. 老年阶段
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • LLaMA Factory 大语言模型微调与推理指南
  • Stable Diffusion LoRA 模型训练:秋叶训练器详细教程
  • Microsoft Edge WebView2 环境安装与常见问题处理指南
  • WorkBuddy 一键部署教程:AI 办公智能体配置指南
  • Qwen3-VL-WEBUI 视频时间戳对齐配置指南
  • AutoGPT 结合 Python 实现 AI 智能体自动化任务
  • 项目管理岗位:为何技能比学历更关键
  • AIGC 检测技术:如何识别 AI 生成内容并保障原创性
  • TrendRadar 本地部署指南:构建个人 AI 热点情报系统
  • C 语言初阶数据结构习题(二)
  • Java 面向对象三大特性:封装、继承、多态
  • TrendRadar 本地部署指南:构建个人 AI 热点情报系统
  • OpenClaw 飞书机器人搭建指南
  • OpenClaw 多智能体架构配置指南
  • Linux 信号产生机制详解:从键盘到硬件异常
  • GLM-4.6V-Flash-WEB 模型参数量与显存占用解析
  • 具身导航 VLN 前沿论文综述:2023-2026 核心研究汇总
  • 2025 机构开发栈:14 款 Web 模板与技术选型深度评测
  • ToDesk 远程控制 Mac 无法显示画面的解决方法
  • GitHub Copilot 高效编程实战指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online