Python 编写个情人节求爱对联

又快到了一年一度的情人节,单身狗大型虐狗即将来袭,春节和情人节双重打击下,你还敢回家面对七大姑八大姨吗?反正疫情之下,国家都提倡你就地过年,远在异乡的你,不如和我一块守候在工作之地,没事码吗代码,帮助别人,岂不快哉!

1、pygame的魅力

初学python,就被某个视频中的老外,带入了pygame中去,简单的几句语法,边可以领略游戏的魅力,不愧是编程届的NO 1,来来来,让我们来试试把。

当然,环境还是需要的,安装python和pygame包后,在vscode中键入如下代码,
终端里执行 脚本,你的一个游戏画布就搞定了!

import sys
import pygame
pygame.init()
size = width, height = 640, 600
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
screen = pygame.display.set_mode(size)
screen.fill(black)
while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    pygame.display.update()

2、画个对联

简单查询下pygame的函数,便可以胜任这份工作了。 这里着重介绍下垂直打印文字的问题。

pygame 采用screen.blit来绘制文字,我们需要引入字体,可以使用系统自带的字体,比如SimHei。 如果需要竖着输出文字,需要我们自己计算文字的坐标位置,并没有现成的函数。可以借助 Rect对象来实现,其move方法可以移动矩形框到执行的偏移位置。
核心的函数如下,按照字符串枚举,然后往下移动位置,逐字输出:

def drawtext(screen, font, text, rect):
   # 为了居中,我们缩小下输出矩形大小(这里按照中心点不变进行缩放)
    rect = rect.inflate(-15, -15)
    for c in text:
        word = font.render(c, True, black)
        screen.blit(word, rect)
        rect = rect.move(0, 50)

3、左右画上对联

有了垂直输出的函数后,输出对联就很简单了,例如:

screen = pygame.display.set_mode(size)
font = pygame.font.SysFont('SimHei', 32)
rect1 = pygame.Rect(50, 50, 50, 260)
rect2 = pygame.Rect(500, 50, 50, 260)
pygame.draw.rect(screen, red, rect1, 0)
pygame.draw.rect(screen, red, rect2, 0)
drawtext(screen, font, "天王盖地虎", rect1)
drawtext(screen, font, "宝塔镇河妖", rect2)

4、画上图片

图片可以利用pygame.image.load进行加载,然后需要控制下大小,当然如果你图片合适,可以原尺寸输出的。

# 加载图片
bg = pygame.image.load("./nvshen.jpg")
# 控制大小在 320*340
bg = pygame.transform.scale(bg, (320, 340))
# 画上图片
screen.blit(bg, (165, 100))

5、来个求爱效果

在这里插入图片描述
附上全部代码,单身狗拿去修改吧,可以自己玩耍了,不谢。

import sys
import pygame


def drawtext(screen, font, text, rect):
    rect = rect.inflate(-15, -15)
    for c in text:
        word = font.render(c, True, black)
        screen.blit(word, rect)
        rect = rect.move(0, 50)


pygame.init()
size = width, height = 640, 600
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
screen = pygame.display.set_mode(size)
font = pygame.font.SysFont('SimHei', 32)
rect1 = pygame.Rect(50, 50, 50, 500)
rect2 = pygame.Rect(500, 50, 50, 500)
rect3 = pygame.Rect(230, 10, 200, 50)
rect4 = rect3.inflate(-15, -15)
bg = pygame.image.load("./nvshen.jpg")
bg = pygame.transform.scale(bg, (320, 340))
screen.fill(black)
screen.blit(bg, (165, 100))
pygame.draw.rect(screen, red, rect1, 0)
pygame.draw.rect(screen, red, rect2, 0)
pygame.draw.rect(screen, red, rect1.move(50, 0), 0)
pygame.draw.rect(screen, red, rect2.move(50, 0), 0)
pygame.draw.rect(screen, red, rect3, 0)
drawtext(screen, font, "每一朵雪花", rect1)
drawtext(screen, font, "都是你迷人的微笑", rect1.move(50, 0))
drawtext(screen, font, "每一阵东风", rect2)
drawtext(screen, font, "都吹不散我对你的思念", rect2.move(50, 0))
word = font.render("缘来就是你", True, black)
screen.blit(word, rect4)

while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    pygame.display.update()

6、python就是好玩

python作为一个能快速上手的脚本,的确比较好玩! 做游戏、web、爬虫都是这么简单方便,加油学,不求闻达于诸侯,但求内心一平静。

### 回答1: 当然可以!这里是一个简单的情人节程序的代码: ``` print("Happy Valentine's Day!") partner_name = input("请输入你的伴侣的名字:") print("祝", partner_name, "情人节快乐!") ``` 运行后,它会先打印“Happy Valentine's Day!”,然后询问你伴侣的名字,最后祝你们俩情人节快乐! ### 回答2: 情人节是一个浪漫的节日,我们可以使用Python编写一个简单的情人节代码来表达我们对另一半的爱意。 首先,我们可以使用Python绘制一个心形图案。可以使用turtle模块来实现。将画布设置为红色背景以表示爱的象征,然后使用turtle模块中的画笔进行绘制。 接下来,我们可以编写一段代码来向我们的爱人发送一条甜蜜的消息。可以使用tkinter库创建一个弹出窗口,显示一段浪漫的情话。例如,我们可以显示一条消息,比如“亲爱的,你是我生命中最重要的人,我爱你”。 在代码中,我们还可以加入一些小游戏来增加趣味性。例如,我们可以编写一个猜数字的小游戏,根据我们另一半的喜好设置一个数字范围,然后让他们猜测我们心中的数字。如果他们猜对了,我们可以给予他们一份特殊奖励,比如一个浪漫的晚餐。 除此之外,我们还可以利用Python的文本处理功能,编写一段代码生成一封浪漫的情书。可以使用字符串操作来创建一封个性化的情书,表达对TA的深情。 当然,在编写这段情人节代码时,要根据自己和另一半的兴趣和爱好进行个性化的定制,让这个代码展现出你们的独特韵味。最重要的是,要真实地表达出对另一半的爱意和关怀,让这个情人节代码成为你们之间爱的回忆。 ### 回答3: 情人节是一个浪漫的节日,我们可以使用Python编写一个简单的情人节代码来表达爱意。 首先,我们可以创建一个Python函数,使用字符串拼接和字符画来绘制一个心形。以下是一个示例代码: ```python def draw_heart(): heart = " * * \n" \ " *** *** \n" \ "**********\n" \ " ********* \n" \ " ******* \n" \ " ***** \n" \ " *** \n" \ " * \n" print(heart) draw_heart() ``` 当我们调用`draw_heart()`函数时,控制台将输出一个心形图案。 接下来,我们可以使用Python的时间模块和条件语句来创建一个简单的情人节倒计时程序。以下是一个示例代码: ```python import datetime def countdown(): today = datetime.date.today() valentine_day = datetime.date(today.year, 2, 14) if today > valentine_day: valentine_day = datetime.date(today.year + 1, 2, 14) days_left = (valentine_day - today).days print(f"There are {days_left} days until Valentine's Day!") countdown() ``` 当我们调用`countdown()`函数时,控制台将输出距离情人节还有多少天。 以上是一个简单的使用Python编写情人节代码示例,我们可以根据自己的需求和创意,进一步扩展和定制代码,让它更有情人节氛围。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

webmote

如果能帮到你,请支持下博主

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

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

打赏作者

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

抵扣说明:

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

余额充值