40岁重启人生学python系列28,利用deepseek快速生成一个MBTI的答题测试页面,可在线预览

最近在看mbti的一些资料,但是,要是去做测试题的话,就会有收费的,我就想着能不能自己做一个,利用一个简单的页面,就能看到效果,就能测试,果然被我鼓捣出来了。

下面是我提出的功能和具体需求,有需要的可以拿走不谢!

功能

1.界面设计采用响应式布局,确保在不同设备上都能良好展示。

2.页面展示测试的标题,题目数量不少于10道,都是选择题的样式,一个页面展示一道题。

一、选项展示具体内容

3.选择选项后,自动进入下一题。最后一道选择题选择完毕后展示测试结果

4.每一种测试结果给出对应的趣味提示,要求提示包含emoji。结果页面持续展示满屏烟花效果。

5.测试结果页面展示再试一次的按钮,点击后清空历史选择重新开始答题。

6.顶部有进度条显示测试进度,展示进度文字(2/12),最终结果页不展示答题进度。

二、视觉设计要求:

1.采用马卡龙色系搭配低饱和度渐变背景

2.题目卡片固定大小,尺寸稍微大一些,增加微透明感和柔和阴影

3.选项按钮使用圆角设计,选中时有按压弹性动画

4.标题采用柔和的文字阴影效果,使用圆润的手写字体(Comic Sans MS + 华文彩云)

5.结果框使用双色渐变背景+大圆角设计,正文使用易读的非衬线字体(微软雅黑 + 幼圆)

6.烟花效果使用使用粉色、黄色、蓝色多层渐变色叠加

7.所有交互元素都带有缓动动画

8.采用拟物化设计语言(卡片、阴影等)

9.进度条宽度和弹窗保持一致,进度条颜色使用低饱和度颜色

10.进度文字展示在卡片内题目的顶部,居中展示,字号是13px

三、技术实现要求:

1.所有动画仅使用CSS transition实现

2.烟花效果通过简单的scale动画模拟

3.配色方案使用CSS变量统一管理

4.采用flex布局实现响应式

5.所有元素使用border-radius柔化边缘

四、附上具体的代码

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MBTI 测试</title>
    <style>
        :root {
            --bg-gradient-start: #f9d5e5;
            --bg-gradient-end: #d6eaf8;
            --card-bg: rgba(255, 255, 255, 0.8);
            --card-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            --button-bg: #f8bbd0;
            --button-hover: #f48fb1;
            --progress-default: #e0e0e0;
            --progress-completed: #ff9a9a;
            --result-bg-start: #ffd180;
            --result-bg-end: #81d4fa;
            --border-radius: 15px;
        }

        body {
            font-family: 'Comic Sans MS', '华文彩云', sans-serif;
            background: linear-gradient(to bottom, var(--bg-gradient-start), var(--bg-gradient-end));
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
        }

        h1 {
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
            margin-bottom: 20px;
        }

        #progress-bar {
            width: 80%;
            max-width: 600px;
            background-color: var(--progress-default);
            border-radius: var(--border-radius);
            margin-bottom: 20px;
            ov
### 创建基于PythonMBTI性格测评应用程序 为了构建一个基于PythonMBTI性格测评应用,可以从以下几个方面着手: #### 1. 设计问卷逻辑 MBTI测试通常由一系列问题组成,这些问题旨在评估个体在四个维度上的偏好:外向(E)/内向(I),感觉(S)/直觉(N),思考(T)/情感(F),判断(J)/知觉(P)[^1]。 ```python questions = [ { "question": "你喜欢参加社交聚会还是更愿意独自阅读一本书?", "options": ["A. 社交聚会", "B. 阅读书籍"], "dimension": ("E", "I") # 外向 vs 内向 }, ... ] ``` #### 2. 构建评分机制 对于每一个问题的回答都需要转换成相应的分数,并最终汇总到各个维度上去。这可以通过定义一个简单的加权算法实现,在这里每个选项对应特定的性格特征得分。 ```python def calculate_score(responses): scores = {"E": 0, "I": 0, "S": 0, "N": 0, "T": 0, "F": 0, "J": 0, "P": 0} for response in responses: selected_option = response['selected'] dimension = questions[int(response['index'])]['dimension'] if selected_option == 'A': scores[dimension[0]] += 1 elif selected_option == 'B': scores[dimension[1]] += 1 return scores ``` #### 3. 使用Flask搭建Web服务 如果希望将此程序部署为web应用,则可以考虑采用Flask框架来快速建立RESTful API接口[^2]。 ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/mbti', methods=['POST']) def mbti(): data = request.get_json() score = calculate_score(data["responses"]) result = determine_personality_type(score) return jsonify({"result": result}) if __name__ == '__main__': app.run(debug=True) ``` #### 4. 定义人格类型判定函数 最后一步是根据累积下来的分值确定用户的MBTI类型。这一过程涉及比较各维度之间的相对强度,并据此给出最接近的真实型态。 ```python def determine_personality_type(scores): personality = "" pairs = [("E", "I"), ("S", "N"), ("T", "F"), ("J", "P")] for pair in pairs: first_letter, second_letter = pair if scores[first_letter] >= scores[second_letter]: personality += first_letter else: personality += second_letter return personality ``` 通过上述步骤就可以完成一个基本版的MBTI性格测评系统的开发工作。当然实际项目中还需要考虑到更多细节如安全性、用户体验优化等方面的问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞哥知行录

打赏的都功德无量,随缘乐助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值