2017存錢計劃(python實現)
靈感來源於在微博看到的一條微博,365天存錢法,每天從1到365中任選一個數字存錢,每一天的數字都不能重複,這樣一年下來就有66795元,6W多塊錢對於我來說太多,那就從0.1-36.5,根據收入多寡,每天選擇其中的一個數字來存,一年就有6679.5元,是一筆不少的數字。那就開始吧。
考慮到之前租借的vps利用率不高,就打算用vps中安裝的centos的定時任務crontab,配合上sendmail來發送郵件告知每日應該存多少錢。
安裝Xshell,連線上遠端伺服器。 yum -y install sendmail crontabs 安裝必要的軟體。
touch sendmail.py vim sendmail.py
#!/usr/bin/python
#-*-coding:utf-8 -*- //指定編碼,相容中文
import random
import os
import time
import datetime
# the remainder days of next China Year
today = datetime.date.today()
other_day = datetime.date(2018,2,15)
remainder = other_day - today
# 每日存錢的數字
tar = random.randint(1,365)
result = []
with open('/root/saveMoney/saved.txt' ,'r') as f:
data = f.readlines()
for line in data:
tmp = line.split()
for x in tmp:
result.append(x)
num_int = map(float,result)
while str(tar) in result:
tar = random.randint(1,365)// 保證產生的數不重複
# 儲存已經存過的數字到saved.txt
with open('/root/saveMoney/saved.txt','a') as f:
f.write(' ' )
f.write(str(tar))
f.close()
# 要傳送的文字寫入到todo.txt
with open('/root/saveMoney/todo.txt','w') as f:
f.write("今天,Centos6建議您存入" + str(tar/10.0) + "元\n")
f.write("距離過年還有" + str(remainder.days) + "天")
f.close()
#呼叫mail外部命令傳送郵件
os.system(" mail -s 'save money plant' [email protected] < /root/saveMoney/todo.txt")
- 到此,結束。
相關推薦
2017存錢計劃(python實現)
靈感來源於在微博看到的一條微博,365天存錢法,每天從1到365中任選一個數字存錢,每一天的數字都不能重複,這樣一年下來就有66795元,6W多塊錢對於我來說太多,那就從0.1-36.5,根據收入多寡,
算法:IP分割問題(python實現)
今天群裏有個朋友出了個題,是一家公司的面試題,題目如下(補充:對於ip0開頭的也是無效的,如分割後001.1.1.1這種是不可以的): 分析:這裏我們舉一個最簡單的例子1.1.1.12.2.2.2。首先能想到的解決方法肯定是使用循環了,我們可以寫2個循環嵌套(有點像冒泡排序)從第0個位置截取1個,從
遞歸——漢諾塔問題(python實現)
最大 大盤 其他 pytho 每次 直接 print int b- 規則 每次移動一個盤子 任何時候大盤子在下面,小盤子在上面 方法 假設共n個盤子 當n=1時: 直接把A上的一個盤子移動到C上(A->C) 當n=2時: 把小盤子從A放到B上(A->
堆排序(Python實現)
int 時間復雜度 pri 開始 堆排序 空間復雜度 繼續 末尾 小頂堆 堆排序(Heap Sort) 堆是一棵具有以下性質的完全二叉樹: 大頂堆:每個結點的值都大於或等於其左右孩子結點的值 小頂堆:每個結點的值都小於或等於其左右孩子結點的值 堆排序的主要思想: 將
求數組中兩兩相加等於20的組合(Python實現)
def n+1 odi lse java程序員 urn nlogn end 數組 題目 求數組中兩兩相加等於20的組合。 例:給定一個數組[1, 7, 17, 2, 6, 3, 14],這個數組中滿足條件的有兩對:17+3=20, 6+14=20。 解析 分為兩個步驟:
支援向量機(Python實現)
這篇文章是《機器學習實戰》(Machine Learning in Action)第六章 支援向量機演算法的Python實現程式碼。 1 參考連結 (1)支援向量機通俗導論(理解SVM的三層境界) (2)支援向量機—SMO論文詳解(序列最小最優化演算法) 2 實現程式
Logistic迴歸(Python實現)
這篇文章是《機器學習實戰》(Machine Learning in Action)第五章 Logistic迴歸演算法的Python實現程式碼。 1 參考連結 機器學習實戰 2 實現程式碼 from numpy import * def loadDataSet():
樸素貝葉斯(Python實現)
這篇文章是《機器學習實戰》(Machine Learning in Action)第四章 基於概率論的分類方法:樸素貝葉斯演算法的Python實現程式碼。 1 參考連結 機器學習實戰 2 實現程式碼 from numpy import * import feedpa
最短路徑問題(python實現)
解決最短路徑問題:(如下三種演算法) (1)迪傑斯特拉演算法(Dijkstra演算法)(2)弗洛伊德演算法(Floyd演算法)(3)SPFA演算法 第一種演算法: Dijkstra演算法 廣度優先搜尋解決賦權有向圖或者無向圖的單源最短路徑問題.是一種貪心的策略 演算法的思路 宣告一
分別用遞迴、迴圈、bisect實現二叉查詢(python實現)
1、遞迴實現二叉查詢 def binary_search_recursion(lst,target,low,high): if high < low: return None middle = (low + high)//2 if lst[middl
一分鐘學會讀csv檔案和寫csv檔案(python實現)
import csv with open('Python-Predict/Data/train.csv') as tra: rdr = csv.reader(tra) items = list(rdr) print("rdr:",rdr) print(items)
leetCode題目--反轉字串(python實現)
題目 編寫一個函式,其作用是將輸入的字串反轉過來。 示例 1: 輸入: "hello" 輸出: "olleh" 示例 2: 輸入: "A man, a plan, a canal: Panama" 輸出: "amanaP :lanac a ,
LeetCode題目--旋轉影象(python實現)
題目 給定一個 n × n 的二維矩陣表示一個影象。 將影象順時針旋轉 90 度。 說明: 你必須在原地旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉影象。 示例 1: 給定 matrix =
LeetCode題目--驗證迴文字串(python實現)
題目 給定一個字串,驗證它是否是迴文串,只考慮字母和數字字元,可以忽略字母的大小寫。 說明:本題中,我們將空字串定義為有效的迴文串。 示例 1: 輸入: "A man, a plan, a canal: Panama" 輸出: true 示例 2:
LeetCode題目--有效的字母異位詞(python實現)
題目 給定兩個字串 s 和 t ,編寫一個函式來判斷 t 是否是 s 的一個字母異位詞。 示例 1: 輸入: s = "anagram", t = "nagaram" 輸出: true
LeetCode題目--字串中的第一個唯一字元(python實現)
題目 給定一個字串,找到它的第一個不重複的字元,並返回它的索引。如果不存在,則返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 注意事項:您可以假定該字串只包含小寫字母。 p
LeetCode題目--顛倒整數(python實現)
題目 給定一個 32 位有符號整數,將整數中的數字進行反轉。 示例 1: 輸入: 123 輸出: 321 示例 2: 輸入: -123 輸出: -321 示例 3: 輸入: 120 輸出: 21
LeetCode題目-- 最長公共字首(python實現)
題目 編寫一個函式來查詢字串陣列中的最長公共字首。 如果不存在公共字首,返回空字串 ""。 示例 1: 輸入: ["flower","flow","flight"] 輸出: "fl" 示例 2: 輸入: ["dog",
LeetCode題目--報數(python實現)
題目 報數 報數序列是指一個整照其中的整數的順序進數序列,按行報數,得到下一個數。其前五項如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被讀作 "one 1
LeetCode題目--實現strStr() (python實現)
題目 實現 strStr() 函式。 給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置 (從0開始)。如果不存在,則返回 -1。 示例 1: