基于Python实现的恋爱对话小程序详解

基于Python实现的恋爱对话小程序详解

简介

本文讲解如何使用Python编写一个简单的恋爱对话小程序,用户可以随意选择角色性别,进行简单的对话交流。

准备工作

首先,你需要安装Python环境,推荐使用Python 3.6及以上版本。其次,你需要安装几个必要的模块,包括randomtime

import random
import time

编写代码

创建男性角色类

首先,我们需要创建一个男性角色类,其中包含了男性角色的基本信息,如姓名,年龄,星座等。

class Man:
    def __init__(self, name, age, constellation):
        self.name = name
        self.age = age
        self.constellation = constellation

创建女性角色类

接着,我们需要创建一个女性角色类,其中包含了女性角色的基本信息,如姓名,年龄,星座等。

class Woman:
    def __init__(self, name, age, constellation):
        self.name = name
        self.age = age
        self.constellation = constellation

创建对话类

然后,我们需要创建一个对话类,该类包括了对话的基本信息,如对白内容,对白人物等。

class Dialogue:
    def __init__(self, content, speaker):
        self.content = content
        self.speaker = speaker

创建恋爱对话小程序类

最后,我们需要创建恋爱对话小程序类,该类包括了小程序的基本信息,如男性角色,女性角色等。

class LoveDialogue:
    def __init__(self, man, woman):
        self.man = man
        self.woman = woman

        self.dialogues = []

    def start(self):
        self.intro()

        while True:
            self.show_dialogue_menu()
            choice = input().strip()

            if choice == '0':
                print("Goodbye!")
                break

            if choice == '1':
                self.add_dialogue()
                continue

            if choice == '2':
                self.read_dialogues()
                continue

            if choice == '3':
                self.analyse_dialogues()
                continue

    def intro(self):
        print("Welcome to Love Dialogue!")
        print("Your character is {0}, and your partner is {1}".format(self.man.name, self.woman.name))
        print("Let's start our dialogue!\n")

    def show_dialogue_menu(self):
        print("What do you want to do?")
        print("1. Add dialogue")
        print("2. Read dialogues")
        print("3. Analyse dialogues")
        print("0. Quit")

    def add_dialogue(self):
        print("\nType your dialogue:")
        content = input().strip()

        speaker = random.choice([self.man.name, self.woman.name])
        dialogue = Dialogue(content, speaker)

        self.dialogues.append(dialogue)

    def read_dialogues(self):
        for dialogue in self.dialogues:
            print("{0}: {1}".format(dialogue.speaker, dialogue.content))
            time.sleep(1)

    def analyse_dialogues(self):
        man_dialogues = []
        woman_dialogues = []

        for dialogue in self.dialogues:
            if dialogue.speaker == self.man.name:
                man_dialogues.append(dialogue.content)
            else:
                woman_dialogues.append(dialogue.content)

        print("Man's dialogues:")
        for dialogue in man_dialogues:
            print("- {0}".format(dialogue))

        print("\nWoman's dialogues:")
        for dialogue in woman_dialogues:
            print("- {0}".format(dialogue))

示例

示例一

男人名叫Jerry,年龄 23,星座处女座;女人名叫Lucy,年龄 21,星座金牛座。他们在一个夏天里相遇了,并且彼此相爱了。以下是他们的对话。

man = Man("Jerry", 23, "Virgo")
woman = Woman("Lucy", 21, "Taurus")

love_dialogue = LoveDialogue(man, woman)
love_dialogue.start()
Welcome to Love Dialogue!
Your character is Jerry, and your partner is Lucy
Let's start our dialogue!

What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
1

Type your dialogue:
Hello Lucy, how are you today?
What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
1

Type your dialogue:
I'm fine, thank you. How about you Jerry?
What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
2

Jerry: Hello Lucy, how are you today?
Lucy: I'm fine, thank you. How about you Jerry?
What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
3

Man's dialogues:
- Hello Lucy, how are you today?

Woman's dialogues:
- I'm fine, thank you. How about you Jerry?

示例二

男人名叫Tom,年龄 25,星座双鱼座;女人名叫Kate,年龄 27,星座天秤座。他们是一对恋人,在一起已经两年了。以下是他们的对话。

man = Man("Tom", 25, "Pisces")
woman = Woman("Kate", 27, "Libra")

love_dialogue = LoveDialogue(man, woman)
love_dialogue.start()
Welcome to Love Dialogue!
Your character is Tom, and your partner is Kate
Let's start our dialogue!

What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
1

Type your dialogue:
Kate, I love you more and more every day.
What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
1

Type your dialogue:
I love you too, Tom. I cannot imagine how life would be without you.
What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
2

Tom: Kate, I love you more and more every day.
Kate: I love you too, Tom. I cannot imagine how life would be without you.
What do you want to do?
1. Add dialogue
2. Read dialogues
3. Analyse dialogues
0. Quit
3

Man's dialogues:
- Kate, I love you more and more every day.

Woman's dialogues:
- I love you too, Tom. I cannot imagine how life would be without you.

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于Python实现的恋爱对话小程序详解 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • pandas快速处理Excel,替换Nan,转字典的操作

    下面我将介绍一下“pandas快速处理Excel,替换Nan,转字典的操作”的完整攻略。 步骤一:安装pandas库 在使用pandas之前,我们需要先安装pandas库。如果你还没有安装,可以在命令行中输入以下命令进行安装: pip install pandas 步骤二:导入pandas库 在开始使用pandas之前,我们需要先导入pandas库: imp…

    python 2023年5月13日
    00
  • Python GUI布局工具Tkinter入门之旅

    作为网站作者,我很高兴向您介绍Python GUI布局工具Tkinter入门之旅的完整攻略。 什么是Tkinter? Tkinter是Python标准库中提供的GUI工具包,它允许Python开发人员创建丰富的桌面应用程序。Tkinter提供了许多GUI组件,例如:按钮、标签、文本框、下拉列表等等,同时也提供了布局管理器方便进行界面布局。 安装Tkinter…

    python 2023年6月5日
    00
  • Windows系统下pycharm中的pip换源

    以下是Windows系统下PyCharm中pip换源的完整攻略: Step1:找到pip的配置文件 在Windows系统下,pip的配置文件一般存放在用户目录下的 %APPDATA%/pip/pip.ini 文件中。如果没有该文件,可以先在该目录下新建一个名为pip的文件夹,再在该文件夹中新建一个名为pip.ini的文本文档。 打开pip.ini文本文档,开…

    python 2023年5月14日
    00
  • Python编程中如何捕获警告ps不是捕获异常

    在Python编程中,可以通过warnings模块来捕获警告信息。与异常不同,警告通常是一些我们不希望出现但也不会导致代码完全失败的问题,例如使用不推荐的语法或过时的功能等。 下面是捕获警告的具体步骤: 导入warnings模块。 import warnings 使用warnings模块中的函数filterwarnings()设置警告过滤器,指定警告类型和处…

    python 2023年5月13日
    00
  • Python读写二进制文件的实现

    下面是Python读写二进制文件的实现攻略。 1. 打开二进制文件 在Python中,要打开一个二进制文件,需要使用内置函数open(),并设置mode参数为’rb’来以二进制模式打开文件。例如,读取名为binary_file.bin的二进制文件,可以使用以下代码: with open(‘binary_file.bin’, ‘rb’) as f: # 读取文…

    python 2023年5月20日
    00
  • python+django加载静态网页模板解析

    在本攻略中,我们将讨论如何在Python和Django中加载静态网页模板并进行解析。我们将介绍如何使用Django的模板系统来加载和解析静态网页模板。 以下是完整攻略包括两个示例。 步骤1:创建Django项目 在开始之前,我们需要创建一个Django项目。我们可以按照以下步骤来创建一个Django项目: 安装Django。 pip install djan…

    python 2023年5月15日
    00
  • Python格式化输出之format用法详解

    Python格式化输出之format用法详解 1. format简介 format()是Python中一种格式化输出的方式,它可以在字符串中插入变量。在Python种有三种基本的字符串格式化方式: %格式化字符串:这种方式是Python2中使用的,Python3仍然支持,但是不再推荐使用。 str.format()函数:这是Python3中推荐使用的字符串格…

    python 2023年5月20日
    00
  • Python中collections模块的基本使用教程

    下面是Python中collections模块的基本使用教程, 1. collections模块简介 collections模块是Python标准库中的一个模块,提供了一系列的容器类,实现了Python中没有的一些特定数据结构,例如:有序字典、命名元组等。使用这些容器类可以大大提高编码的效率,使得代码更加简洁、易读。 2. Counter计数器 Counte…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部