吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2108|回复: 41
收起左侧

[Python 原创] 分享一份来自中秋节的Python的祝福

[复制链接]
小雨网络 发表于 2023-9-16 15:00
各位吾友看看有没有需要改进的地方

[Python] 纯文本查看 复制代码
import random

# 中秋节祝福语列表
greetings = [
    "1. 月到中秋分外明,情侣家人皆共庆。中秋节快乐!",
    "2. 中秋之际,愿你的生活圆圆满满,幸福甜蜜。",
    "3. 皓月当空,星光闪烁,愿你的未来一片光明,中秋快乐!",
    "4. 月圆人团圆,愿你和家人团团圆圆,幸福美满。",
    "5. 中秋佳节,赏月品茶,愿你的日子也如这一轮明月般辉煌。",
    "6. 满地银光照人眼,愿你的前程一片光明。",
    "7. 月是故乡明,人是故乡情。中秋快乐,思念故乡的亲人。",
    "8. 中秋团圆夜,星光闪烁亮晶晶。愿你的人生也一片美好。",
    "9. 五谷丰登的季节,愿你的生活也充满丰收和幸福。",
    "10. 在这个特别的日子里,愿你的每一天都充满温馨和快乐。",
    "11. 中秋节,愿你的工作事业和家庭生活都步步高升。",
    "12. 月圆人更圆,愿你的幸福也如月亮一样圆满。"
]

def main():
    print("欢迎使用中秋节祝福语小程序!")
    while True:
        print("\n请选择一个祝福语(输入对应的数字,输入 q 退出程序):")
        for greeting in greetings:
            print(greeting)
        
        choice = input("您的选择:")
        
        if choice == 'q':
            print("程序已退出。祝您中秋节快乐!")
            break
        elif choice.isdigit() and 1 <= int(choice) <= len(greetings):
            print("\n祝福语如下:")
            print(greetings[int(choice) - 1])
        else:
            print("无效的选择,请重新输入。")

if __name__ == "__main__":
    main()

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
Bob5230 + 1 + 1 热心回复!
XY1993 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 小雨网络 发表于 2023-9-16 20:47
Listentomusic 发表于 2023-9-16 19:55
这里我加了一个发送邮件的,我给同事老师发,有时间的话你们也可以改改每个邮箱发送不同的祝福语。
[mw_sh ...

也可以这样随机选择一句祝福语发送到某个邮箱中

[Python] 纯文本查看 复制代码
import random
import zmail

# 中秋节祝福语列表
greetings = [
    "1. 月到中秋分外明,情侣家人皆共庆。中秋节快乐!",
    "2. 中秋之际,愿你的生活圆圆满满,幸福甜蜜。",
    "3. 皓月当空,星光闪烁,愿你的未来一片光明,中秋快乐!",
    "4. 月圆人团圆,愿你和家人团团圆圆,幸福美满。",
    "5. 中秋佳节,赏月品茶,愿你的日子也如这一轮明月般辉煌。",
    "6. 满地银光照人眼,愿你的前程一片光明。",
    "7. 月是故乡明,人是故乡情。中秋快乐,思念故乡的亲人。",
    "8. 中秋团圆夜,星光闪烁亮晶晶。愿你的人生也一片美好。",
    "9. 五谷丰登的季节,愿你的生活也充满丰收和幸福。",
    "10. 在这个特别的日子里,愿你的每一天都充满温馨和快乐。",
    "11. 中秋节,愿你的工作事业和家庭生活都步步高升。",
    "12. 月圆人更圆,愿你的幸福也如月亮一样圆满。"
]

# 配置服务
server = zmail.server('邮箱账号', '邮箱授权码')

# 发送五封邮件,每封邮件随机选择一句祝福语
recipients = ['发送邮箱1', '发送邮箱2', '发送邮箱3', '发送邮箱4', '发送邮箱5']

for recipient in recipients:
    random_index = random.randint(0, len(greetings) - 1)
    selected_greeting = greetings[random_index]
    
    # 邮件内容
    mail = {
        'subject': '中秋佳节, 祝您快乐!',
        'content_text': selected_greeting
    }
    
    server.send_mail([recipient], mail=mail)
    print(f'已发送邮件至:{recipient},祝福语:{selected_greeting}')

print('邮件发送完毕...')
lccccccc 发表于 2023-9-17 09:39
楼主,我又重新做了一个C++版的
基于WINAPI的,初学者,做的不好,欢迎大佬指点!
[C++] 纯文本查看 复制代码
#include <windows.h>
#include <iostream>
 
using namespace std;
 
string greetings[] = {
    "1. 月到中秋分外明,情侣家人皆共庆。中秋节快乐!",
    "2. 中秋之际,愿你的生活圆圆满满,幸福甜蜜。",
    "3. 皓月当空,星光闪烁,愿你的未来一片光明,中秋快乐!",
    "4. 月圆人团圆,愿你和家人团团圆圆,幸福美满。",
    "5. 中秋佳节,赏月品茶,愿你的日子也如这一轮明月般辉煌。",
    "6. 满地银光照人眼,愿你的前程一片光明。",
    "7. 月是故乡明,人是故乡情。中秋快乐,思念故乡的亲人。",
    "8. 中秋团圆夜,星光闪烁亮晶晶。愿你的人生也一片美好。",
    "9. 五谷丰登的季节,愿你的生活也充满丰收和幸福。",
    "10. 在这个特别的日子里,愿你的每一天都充满温馨和快乐。",
    "11. 中秋节,愿你的工作事业和家庭生活都步步高升。",
    "12. 月圆人更圆,愿你的幸福也如月亮一样圆满。"
};

int win_w,win_h; 

HWND label,wish;

HCRYPTPROV prov;
int random() {
	if (prov == NULL)
		if (!CryptAcquireContext(&prov, NULL, NULL, PROV_RSA_FULL, CRYPT_SILENT | CRYPT_VERIFYCONTEXT))
			ExitProcess(1);
	int out;
	CryptGenRandom(prov, sizeof(out), (BYTE *)(&out));
	return out & 0x7fffffff;
}

void get_rand(){
	SetWindowText(wish,greetings[random()%((int)(sizeof(greetings)/sizeof(greetings[0])))].c_str());
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
	switch(Message) {
		case WM_CREATE: {
			static HFONT hFont = CreateFont(40,0,0,0,0,FALSE,FALSE,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,"微软雅黑");//创建字体
			// label
			label = CreateWindow("static", TEXT("中秋节祝福"), WS_CHILD | WS_VISIBLE | SS_CENTER, 0, 0, win_w, 45, hwnd,
			(HMENU)1,((LPCREATESTRUCT)lParam)->hInstance,NULL);
			SendMessage(label,WM_SETFONT,(WPARAM)hFont,TRUE);
			
			// wish
			static HFONT hFont2 = CreateFont(25,0,0,0,0,FALSE,FALSE,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,"微软雅黑");//创建字体
			wish = CreateWindow("static", TEXT(""), WS_CHILD | WS_VISIBLE | SS_CENTER, 0, 50, win_w, 45, hwnd,
			(HMENU)1,((LPCREATESTRUCT)lParam)->hInstance,NULL);
			SendMessage(wish,WM_SETFONT,(WPARAM)hFont2,TRUE);
			
			CreateWindow("button", TEXT("随机"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON , 100, 150, 100, 45, hwnd,
			(HMENU)1001,((LPCREATESTRUCT)lParam)->hInstance,NULL);
			
			CreateWindow("button", TEXT("退出"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON , 300, 150, 100, 45, hwnd,
			(HMENU)1002,((LPCREATESTRUCT)lParam)->hInstance,NULL);
				
			LONG style = GetWindowLong(hwnd, GWL_STYLE);	
			style &= ~(WS_MAXIMIZEBOX|WS_SIZEBOX|WS_MINIMIZE);	
			SetWindowLong(hwnd, GWL_STYLE, style);	
			get_rand();
			break;
		}
		case WM_COMMAND: {
			if(LOWORD(wParam)==1001){
				get_rand();
			} 
			else if (LOWORD(wParam)==1002) {
				DestroyWindow(hwnd);
			}
		    break; 
		}
		case WM_DESTROY: {
			PostQuitMessage(0);
			break;
		}
		default:
			return DefWindowProc(hwnd, Message, wParam, lParam);
	}
	return 0;
}



int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
	WNDCLASSEX wc;
	HWND hwnd;
	MSG Msg;

	memset(&wc,0,sizeof(wc));
	wc.cbSize		 = sizeof(WNDCLASSEX);
	wc.lpfnWndProc	 = WndProc; /* insert window procedure function here */
	wc.hInstance	 = hInstance;
	wc.hCursor		 = LoadCursor(NULL, IDC_ARROW);
	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
	wc.lpszClassName = "WindowClass";
	wc.hIcon		 = LoadIcon(NULL, IDI_APPLICATION); /* use "A" as icon name when you want to use the project icon */
	wc.hIconSm		 = LoadIcon(NULL, IDI_APPLICATION); /* as above */

	if(!RegisterClassEx(&wc)) {
		MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
		return 0;
	}
	
	win_h = 240;
	win_w = 640;

	hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","中秋节祝福",WS_VISIBLE|WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,win_w,win_h,NULL,NULL,hInstance,NULL);
	if(hwnd == NULL) {
		MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
		return 0;
	}

	while(GetMessage(&Msg, NULL, 0, 0) > 0) {
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
}


Dev C++ 编译通过
fenggod1 发表于 2023-9-16 15:17
Shinku0721 发表于 2023-9-16 15:25
小白看下来觉得没什么问题,请问像这种简单的py小程序可以封装成exe文件之类的吗?如果是祝福,要发给家人,总不能是这种形式吧(之前也搜过,但搜索结果和我想知道的不太一样。大佬能告知我这块知识叫什么吗,我想去学一学)
YWQ8 发表于 2023-9-16 15:28
感谢分享
cayuer 发表于 2023-9-16 15:39
感谢分析 一直不明白 这个代码要用什么软件才能运行
一块腹肌Leon 发表于 2023-9-16 15:44
greetings  内容还得再多点 12个用一会就不够了
神秘人945 发表于 2023-9-16 15:45
Shinku0721 发表于 2023-9-16 15:25
小白看下来觉得没什么问题,请问像这种简单的py小程序可以封装成exe文件之类的吗?如果是祝福,要发给家人 ...

用pyinstaller可以打包
 楼主| 小雨网络 发表于 2023-9-16 15:52
[Python] 纯文本查看 复制代码
import random

# 中秋节祝福语列表
greetings = [
    "1. 月到中秋分外明,情侣家人皆共庆。中秋节快乐!",
    "2. 中秋之际,愿你的生活圆圆满满,幸福甜蜜。",
    "3. 皓月当空,星光闪烁,愿你的未来一片光明,中秋快乐!",
    "4. 月圆人团圆,愿你和家人团团圆圆,幸福美满。",
    "5. 中秋佳节,赏月品茶,愿你的日子也如这一轮明月般辉煌。",
    "6. 满地银光照人眼,愿你的前程一片光明。",
    "7. 月是故乡明,人是故乡情。中秋快乐,思念故乡的亲人。",
    "8. 中秋团圆夜,星光闪烁亮晶晶。愿你的人生也一片美好。",
    "9. 五谷丰登的季节,愿你的生活也充满丰收和幸福。",
    "10. 在这个特别的日子里,愿你的每一天都充满温馨和快乐。",
    "11. 中秋节,愿你的工作事业和家庭生活都步步高升。",
    "12. 月圆人更圆,愿你的幸福也如月亮一样圆满。"
]

def main():
    print("欢迎使用中秋节祝福语小程序!")
    random_greeting = random.choice(greetings)
    print("\n随机祝福语如下:")
    print(random_greeting)

if __name__ == "__main__":
    main()


修改了一下原来的好像有bug、这个代码是随机显示一条
liweiqing 发表于 2023-9-16 16:16
优秀 提前节日快乐
yule520184 发表于 2023-9-16 16:18
不错不错!跟奈斯!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-5 02:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表