当前位置: 首页 > news >正文

Python人生重开器

Life reopens stimulator

"""
作者:->yjy
所有的惊艳都曾历经平庸
"""
import random
import sys
import time# 打印初始界面
print('+------------------------------+')
print('|                              |')
print('|       >>人生重开模拟器<<        |')
print('|                              |')
print('      这垃圾人生一秒也不想待了       ')
print('|                              |')
print('+------------------------------+')# 设置初始属性
"""
进入游戏后初始属性:
颜值face
体质strong
智力iq
家境home
规定每个属性范围为1-10 并且这四个属性的总和不能超过20,如果玩家的初始属性不合理,则提示玩家输入有误并要求重新输入.体现在代码中就是玩家
玩家输入属性后通过if语句判断输入的属性是否合法,如果不合法则通过while语句要求玩家重新进行输入.
"""
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("颜值输入有误")if strong < 1 or strong > 10:print("体质输入有误")if iq < 1 or iq > 10:print("智力输入有误")if home < 1 or home > 10:print("颜值输入有误")if face +strong+iq+home > 20:print("属性总和超过了20,设置有误!")continueprint('初始属性输入完毕!')print(f'颜值:{face},体质:{strong},智力:{iq},家境:{home}')break#设置角色性别
"""
关于角色的性别,我们可以随机生成一个1-6的整数,类似于掷骰子
如果是单数,则性别设为男孩.
如果是双数,则性别设为女孩.性别设置后需要借助一个变量将角色的性别保存起来,因为后续男孩和女孩可能会触发不同的事件.
"""
point = random.randint(1,6)
if point % 2 == 1:gender = 'boy'print('你是个男孩')
else:gender = 'girl'print("你是个女孩")"""
说明一下:
代码中使用的randint是random模块中的一个函数,random.randint(begin,end)可以生成一个begin - end之间的随机整数
在python中,如果向引入其他模块,需要以import 模块名的方式将对应的模块导入进来,导入模块后以模块名.xxx的方式就能使用该模块中的函数或者变量
"""# 设置角色出生点
"""
设置角色的出生点,可以根据角色的家境分为四个档位:
10是第一档,加成最高.
7-9是第二档,有一些加成.
4-6是第三档,加成较少.
1-3是第四档,会扣掉属性.
除了将角色的出生点按照家境分为四个档位之外,还可以再生成一个随机数,对每一档的内部在进行一次细分,最终得到角色的出生点,
此处涉及的也就是一些if条件判断而已
"""
point = random.randint(1,3)
if home == 10:# 第一档print('你出生在帝都,你的父母都是高官政要')home +=1iq +=1face +=1
elif 7<=home<=9:# 第二档if point == 1:print("你出生在大城市,父母是公务员")face+=2elif point==2:print('你出生在大城市,父母是企业高管')home+=2else:print('你出生在大城市,父母是大学教授')iq += 2
elif 4<=home<=6:# 第三档if point == 1:print('你出生在三线城市,你的父母是医生')strong +=1elif point==2:print('你出生在镇上,你的父母是老师')iq+=1else:print('你出生在镇上,你的父母是个体户')home += 1
else:# 第四档if point == 1:print('你出生在农村,父母是辛苦劳作的农民')strong +=1face-=2elif point ==2:print('你出生在穷乡僻壤,你的父母是无业游民')home -=1else:print('你出生在镇上,你的父母感情不和')strong -=1print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")"""
说明一下:角色的出生点不能仅由家境决定,此处在设置角色出生点时引入随机数的目的就是为了增加随机的因素,毕竟人生本来就充满了很多的随机性。
这里的代码只是起一个示意的作用,因此生成随机数的范围只是1 - 3,如果你愿意也可以生成更大范围的随机数,将每一档的内部进行更细粒度的划分,
这样就能更大的保证每次运行程序后得到的出生点都是不一样的。
""""""
针对每一岁,生成人生经历
人生经历的四个阶段设置完角色的性别和出生点后,就可以针对每一岁生成对应的人生经历了,这里我们按照年龄将人生经历分为以下四个阶段:1 - 10岁:幼年阶段。
11 - 20岁:青年阶段。
21 - 50岁:壮年阶段。
50岁以后:老年阶段。
在人生的每个阶段都会有不同的经历和事件发生:幼年阶段:可塑性强,体制、颜值、智力都会有较快的变化。
青年阶段:主要是求学,同时父母一辈会有明显变化,智力和家境会有明显变化。
壮年阶段:相对平稳,属性变化不大,主要是一些随机事件影响到属性。
老年阶段:体质、颜值、智力都会显著退化,并且随着年龄的上升,疾病和死亡的风险逐渐升高。
这时就可以发挥我们的想象力,编写一些合理的人生经历,并在合适的条件下触发这些事件即可。人生经历生成
这里我们以幼年为例,简单演示一下处理逻辑:使用for循环,按照年龄从1循环到10,每次循环生成对应年龄的人生经历。
在生成每一年的人生经历之前,先生成一个随机数(充当人生中的随机因素),根据得到的随机数以及角色的性别、
年龄和各种属性来触发不同的事件。
不同的事件被触发后,可能会对角色的属性有正面或负面的影响,因此角色的各个属性会随着事件的触发而不断发生变化。
在这一年的最后打印出所触发的事件,为了方便观察,也可以将这一年后角色的各个属性进行打印。
"""# 人生经历
# 幼年阶段
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 strong < 6 and point <3:info += '你生了一场病,'if home > 5:info += '在父母的悉心照料下,你康复了'strong += 1home -= 1else:info += '你的父母没精力管你,你的身体状况更遭了'strong -=1# 颜值触发的事件elif face <= 4 and age >=7:info += '你长得太丑了,别的小朋友不喜欢你,'if iq > 5:info += '你决定用学习填充自己!'iq += 1else:if gender == 'boy':info += '你跟别的小朋友经常打架!'strong += 1iq -=1else:info += '你经常被别的小朋友欺负'strong -= 1#智力触发的事件elif iq <5:info += '你看起来傻傻的,'if home >=7 and age>=6:info += '你的父母把你送到更好的学校学习'iq += 1elif 4<=home<=6:if gender == 'boy':info += '你的父母鼓励你多运动,争取成为运动员'strong += 1else:info += '你的父母鼓励你多打扮自己'face += 1else:info += '你的父母经常为此吵架'if point == 1:strong -=1elif point ==2:iq -= 1else:pass# 健康成长事件else:info += '你健康成长,'if point == 1:info += '你看起来更结实了'strong += 1elif point == 2:info += '你看起来更好看了'face +=1else:info += '这一年没有什么特别的事情发生'# 打印这一年发生的事情print(info)print(f'颜值:{face},体质:{strong},智力:{iq},家境:{home}')# 为了方便观察,加一个sleeptime.sleep(2)# 青年阶段
print("\n------青年阶段------\n")
for age in range(18, 31):info = f'你今年{age}岁, 'point = random.randint(1, 10)# 职业选择if point <= 3:info += '你决定去大城市闯荡, 'if iq > 7:info += '你找到了一份高薪工作'home += 1else:info += '你找到了一份一般的工作'home -= 1elif 3 < point <= 6:info += '你决定留在家乡工作, 'if strong > 7:info += '你在家乡成为了一名成功的企业家'home += 2else:info += '你在家乡工作一般'home -= 1else:info += '你决定出国深造, 'if iq > 8:info += '你在国外留学期间学有所成'iq += 2else:info += '你在国外遇到了很多困难'iq -= 1# 打印这一年发生的事情print(info)print(f'智力: {iq}, 家境: {home}')print('---------------------------------------------')time.sleep(2)# 壮年阶段
print("\n------壮年阶段------\n")
for age in range(31, 51):info = f'你今年{age}岁, 'point = random.randint(1, 10)# 健康问题if point <= 3:info += '你突发重病, 'if home > 5:info += '在家人的照顾下康复了'strong += 1else:info += '因为家庭困难,康复缓慢'strong -= 1elif 3 < point <= 6:info += '你开始重视健康, 'if strong > 7:info += '你开始锻炼身体, 健康状况良好'strong += 1else:info += '你无暇顾及健康, 身体状况一般'strong -= 1else:info += '你决定关注心理健康, 'if iq > 8:info += '你通过心理调节找到了生活的平衡'iq += 1else:info += '你的心理问题逐渐加重'iq -= 1# 打印这一年发生的事情print(info)print(f'体制: {strong}, 颜值:{face},智力: {iq}, 家境: {home}')print('---------------------------------------------')time.sleep(2)# 老年阶段
print("\n------老年阶段------\n")
for age in range(51, 71):info = f'你今年{age}岁, 'point = random.randint(1, 10)# 退休生活if point <= 3:info += '你过上了富裕的退休生活, 'if home > 7:info += '你的家庭安定和睦'home += 1else:info += '你的家庭经济状况较差'home -= 1elif 3 < point <= 6:info += '你选择了简朴的退休生活, 'if strong > 7:info += '你在兴趣爱好中找到了乐趣'strong += 1else:info += '你的生活变得有些单调'strong -= 1else:info += '你感到孤独和无助, 'if iq > 8:info += '你通过社交活动找到了新的生活乐趣'iq += 1else:info += '你的孤独感加重'iq -= 1# 打印这一年发生的事情print(info)print(f'体制: {strong}, 颜值:{face},智力: {iq}, 家境: {home}')print('---------------------------------------------')time.sleep(2)

相关文章:

Python人生重开器

Life reopens stimulator """ 作者:->yjy 所有的惊艳都曾历经平庸 """ import random import sys import time# 打印初始界面 print(------------------------------) print(| |) print(| >>人生重…...

python 高级技巧 0708

python 33个高级用法技巧 使用装饰器计时函数 装饰器是一种允许在一个函数或方法调用前后运行额外代码的结构。 import timedef timer(func):"""装饰器函数&#xff0c;用于计算函数执行时间并打印。参数:func (function): 被装饰的函数返回:function: 包装后…...

HOW - React Router v6.x Feature 实践(react-router-dom)

目录 基本特性ranked routes matchingactive linksNavLinkuseMatch relative links1. 相对路径的使用2. 嵌套路由的增强行为3. 优势和注意事项4. . 和 ..5. 总结 data loadingloading or changing data and redirectpending navigation uiskeleton ui with suspensedata mutati…...

`padding`、`border`、`width`、`height` 和 `display` 这些 CSS 属性的作用

盒模型中的属性 padding&#xff08;内边距&#xff09; padding 用于控制元素内容与边框之间的空间&#xff0c;可以为元素的每个边&#xff08;上、右、下、左&#xff09;分别设置内边距。内边距的单位可以是像素&#xff08;px&#xff09;、百分比&#xff08;%&#xf…...

C++ QT 全局信号的实现

每次做全局信号都需要重新建立文件&#xff0c;太麻烦了&#xff0c;记录一下&#xff0c;以后直接复制。 头文件 globalSignalEmitter.h #pragma once //#ifndef GLOBALSIGNALEITTER_H //#define GLOBALSIGNALEITTER_H#include <QObject>class GlobalSignalEmitter : …...

十款绚丽的前端 CSS 菜单导航动画

CSS汉堡菜单是一种非常流行的PC端和移动端web菜单风格&#xff0c;特别是移动端&#xff0c;这种风格的菜单应用更为广泛。这款菜单便非常适合在手机App上使用&#xff0c;它的特点是当顶部菜单弹出时&#xff0c;页面内容将会配合菜单出现适当的联动&#xff0c;让整个页面变得…...

debain系统使用日志

账号 vboxuser changeme ssh远程登录vbox虚拟机 https://www.cnblogs.com/BuzzWeek/p/17557981.html Terminal su - root changeme sudo apt-get update sudo apt-get -y install openssh-server #启动sshd systemctl status sshd 设置允许ssh登录vbox虚拟机 参考&#xf…...

【Word】快速对齐目录

目录标题 1. 全选要操作的内容 → 右键 → 段落2. 选则制表位3. 配置制表符4. Tab键即可 1. 全选要操作的内容 → 右键 → 段落 2. 选则制表位 3. 配置制表符 4. Tab键即可...

MATLAB基础应用精讲-【数模应用】 岭回归(Ridge)(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 数学模型 Ridge 回归的估计量 Ridge 回归与标准多元线性回归的比较 3. Ridge 参数的选择 算法步骤 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 6、输出结果分析 7、注意事项 8、模型理论 SPSSAU 岭回归分析案…...

推荐6个开源博客项目源码,你会选哪个呢

搭建个人博客系统时&#xff0c;可以选择多种开源平台&#xff0c;以下是一些受欢迎的开源博客系统及其特点&#xff1a; 1. Plumemo Plumemo 是一个轻量、易用、前后端分离的博客系统&#xff0c;为了解除开发人员对后端的束缚&#xff0c;真正做到的一个面向接口开发的博客…...

OCR text detect

主干网络 VoVNet&#xff1a;实时目标检测的新backbone网络_vovnet pytorch-CSDN博客 DenseNet&#xff1a; arxiv.org/pdf/1608.06993 密集连接&#xff1a; DenseNet 的核心思想是将网络中的每一层与其前面的所有层直接连接。对于一个 L 层的网络&#xff0c;DenseNet 具有…...

【MySQL】MySQL连接池原理与简易网站数据流动是如何进行

MySQL连接池原理与简易网站数据流动是如何进行 1.MySQL连接池原理2.简易网站数据流动是如何进行 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f60…...

学数据结构学的很慢,毫无头绪怎么办 ?

这个情况比较正常诶&#xff0c;不用有太大的心理压力。 然后程序设计那个没有学过&#xff0c;而数据结构的前置课程之一就是程序设计&#xff0c;比如栈/队列/树&#xff0c;这些数据结构都要基于代码实现的。我估计是因为你之前缺少学习程序设计的经验&#xff0c;所以学起…...

VSCode常用快捷键和功能

格式化代码&#xff1a; ShiftAltF JS中自动输入console.log()的方法&#xff1a; 先在vscode中&#xff0c;找到文件 > 首选项 > 配置用户代码片段&#xff0c;在弹出的下拉框处方输入javascript.json&#xff0c;复制下面的代码&#xff0c;覆盖原来的代码&#xff0…...

上海市计算机学会竞赛平台2023年2月月赛丙组平分数字(一)

题目描述 给定 &#x1d45b;n 个整数&#xff1a;&#x1d44e;1,&#x1d44e;2,⋯ ,&#x1d44e;&#x1d45b;a1​,a2​,⋯,an​&#xff0c;请判定能否将它们分成两个部分&#xff08;不得丢弃任何数字&#xff09;&#xff0c;每部分的数字之和一样大。 输入格式 第…...

Qwen1.5-1.8b部署

仿照ChatGLM3部署&#xff0c;参考了Qwen模型的文档&#xff0c;模型地址https://modelscope.cn/models/qwen/Qwen1.5-1.8B-Chat/summary http接口 服务端代码api.py from fastapi import FastAPI, Request from transformers import AutoTokenizer, AutoModelForCausalLM, …...

关于7月1号centos官方停止维护7系列版本导致centos7+版本的机器yum等命令无法使用的解决教程

更换yum源两种方式 第一种 在还能使用yum等命令的情况是执行下面的命令 注意&#xff1a;阿里云和腾讯云二选一即可 一丶 yum源 腾讯云&#xff1a; wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo curl -o /etc/yum.…...

2024人工智能大会_强化学习论坛相关记录

求解大规模数学优化问题 规划也称为优化 四要素&#xff1a;数据、变量、目标、约束 将一个简单的数学规划问题项gpt进行提问&#xff0c;GPT给了一个近似解&#xff0c;但不是确切的解。 大模型的训练本身就是一个优化问题。 大模型是如何训练的&#xff1f;大模型训练通常使…...

Android SurfaceFlinger——创建EGLContext(二十五)

前面文章我们获取了 EGL 的最优配置,创建了 EGLSurface 并与 Surface 进行了关联,然后还需要获取 OpenGL ES 的上下文 Context,这也是 EGL 控制接口的三要素(Displays、Contexts 和 Surfaces)之一。 1)getInternalDisplayToken:获取显示屏的 SurfaceControl 令牌(Token…...

python 10个自动化脚本

目录 &#x1f31f; 引言 &#x1f4da; 理论基础 &#x1f6e0;️ 使用场景与代码示例 场景一&#xff1a;批量重命名文件 场景二&#xff1a;自动下载网页内容 场景三&#xff1a;数据清洗 场景四&#xff1a;定时执行任务 场景五&#xff1a;自动化邮件发送 场景六…...

Phi-4-mini-reasoning推理质量评估:GSM8K/MATH数据集本地测试方法

Phi-4-mini-reasoning推理质量评估&#xff1a;GSM8K/MATH数据集本地测试方法 1. 模型简介 Phi-4-mini-reasoning是一个轻量级开源模型&#xff0c;专注于高质量数学推理任务。作为Phi-4模型家族的一员&#xff0c;它通过合成数据训练和微调&#xff0c;特别擅长解决需要密集…...

终极指南:如何在TensorFlow Rust中掌握while_loop循环结构

终极指南&#xff1a;如何在TensorFlow Rust中掌握while_loop循环结构 【免费下载链接】rust Rust language bindings for TensorFlow 项目地址: https://gitcode.com/gh_mirrors/rust/rust TensorFlow Rust是Rust语言与TensorFlow深度学习框架的绑定库&#xff0c;它允…...

Python自动化测试框架入门教程

Python自动化测试框架入门教程&#xff1a;从零开始掌握Pytest和unittest &#x1f4dd; 摘要 自动化测试是现代软件开发不可或缺的一部分&#xff0c;能够显著提高代码质量和开发效率。本文将带你从零开始了解Python主流自动化测试框架——Pytest和unittest&#xff0c;包含…...

3步打造专业级H5页面:开源编辑器h5maker零代码解决方案

3步打造专业级H5页面&#xff1a;开源编辑器h5maker零代码解决方案 【免费下载链接】h5maker h5编辑器类似maka、易企秀 账号/密码&#xff1a;admin 项目地址: https://gitcode.com/gh_mirrors/h5/h5maker 在数字化营销与内容传播领域&#xff0c;H5页面已成为连接品牌…...

OpenClaw多模型切换指南:Qwen3.5-9B与Llama3混合调度实战

OpenClaw多模型切换指南&#xff1a;Qwen3.5-9B与Llama3混合调度实战 1. 为什么需要多模型切换&#xff1f; 去年我在搭建个人AI工作流时&#xff0c;发现单一模型很难满足所有需求。用Qwen处理文档时效果惊艳&#xff0c;但遇到代码生成任务就显得力不从心&#xff1b;换成专…...

《B3845 [GESP样题 二级] 勾股数》

题目背景 对应的选择、判断题&#xff1a;https://ti.luogu.com.cn/problemset/1102 题目描述 勾股数是很有趣的数学概念。如果三个正整数 a,b,c&#xff0c;满足 a2b2c2&#xff0c;而且 1≤a≤b≤c&#xff0c;我们就将 a,b,c 组成的三元组 (a,b,c) 称为勾股数。你能通过编…...

在CentOS上部署RustDesk私有中继服务器:从零搭建到安全配置

1. 环境准备&#xff1a;搭建RustDesk私有中继服务器的基石 在CentOS系统上部署RustDesk私有中继服务器&#xff0c;首先需要确保基础环境配置正确。我遇到过不少因为环境问题导致的部署失败案例&#xff0c;所以这部分我会详细说明每个环节的注意事项。 1.1 系统更新与基础依赖…...

AIGlasses_for_navigation多场景落地:日常通勤、医院导诊、地铁站导航三场景实测

AIGlasses_for_navigation多场景落地&#xff1a;日常通勤、医院导诊、地铁站导航三场景实测 1. 引言&#xff1a;当导航从手机屏幕“走”到眼前 想象一下这样的场景&#xff1a;你走在陌生的城市街道&#xff0c;要去一个从未去过的咖啡馆。你不需要低头看手机地图&#xff…...

C++笔记 继承关系中构造和析构顺序(面向对象)

在C面向对象编程中&#xff0c;继承是实现代码复用和类层次设计的核心特性。当存在基类与派生类的继承关系时&#xff0c;构造函数和析构函数的调用顺序有严格的规则——这不仅是面试高频考点&#xff0c;更是避免内存泄漏、保证对象正确初始化/清理的关键。核心结论先明确&…...

一篇大模型Agents工作流优化最新综述

过去&#xff0c;人们总希望一个LLM直接把任务做完&#xff1b;现在&#xff0c;一个更现实的方向正在浮现——针对不同任务设计不同工作流&#xff0c;并让系统在执行前、执行中乃至执行后持续优化这条链路。 近日&#xff0c;Rensselaer Polytechnic Institute&#xff08;RP…...