小雨网络 发表于 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)
      else:
            print("无效的选择,请重新输入。")

if __name__ == "__main__":
    main()

小雨网络 发表于 2023-9-16 20:47

Listentomusic 发表于 2023-9-16 19:55
这里我加了一个发送邮件的,我给同事老师发,有时间的话你们也可以改改每个邮箱发送不同的祝福语。


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

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
   
    # 邮件内容
    mail = {
      'subject': '中秋佳节, 祝您快乐!',
      'content_text': selected_greeting
    }
   
    server.send_mail(, mail=mail)
    print(f'已发送邮件至:{recipient},祝福语:{selected_greeting}')

print('邮件发送完毕...')

lccccccc 发表于 2023-9-17 09:39

楼主,我又重新做了一个C++版的
基于WINAPI的,初学者,做的不好,欢迎大佬指点!
#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)))].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

感谢分析 一直不明白 这个代码要用什么软件才能运行{:301_992:}

一块腹肌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

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

不错不错!跟奈斯!
页: [1] 2 3 4 5
查看完整版本: 分享一份来自中秋节的Python的祝福