1. 程式人生 > >Python學習記錄--第一天的練習

Python學習記錄--第一天的練習

from Tools.scripts.treesync import raw_input

print("haojianxinag ","practise ","start!")

#有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?
print("\n Test 1:\n")
nums = [1,2,3,4]
for i in nums:
    for j in nums:
        for k in nums:
            if i!=j!=k :
                print(i,j,k)

print("================sprit==================")

for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i != j & j != k & k != i :
                print(i,j,k)

'''企業發放的獎金根據利潤提成。
利潤(I)低於或等於10萬元時,獎金可提10%;
利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;
20萬到40萬之間時,高於20萬元的部分,可提成5%;
40萬到60萬之間時高於40萬元的部分,可提成3%;
60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,
從鍵盤輸入當月利潤I,求應發放獎金總數?'''

print("\n Test 2:\n")
#money = int(raw_input("請輸入利潤:"))
money = 12
gift = 0

moneyArray = [100,60,40,20,10,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]

for i in range(0 ,len(moneyArray)):
    if money > moneyArray[i]:
        giftTemp = (money - moneyArray[i]) * rat[i]
        gift += giftTemp
        money = moneyArray[i]
print(gift)

#斐波那契數列

print("\n Test 3:\n")

def function1(m,n):
    print(m)
    return m+n

seed1 = 0
seed2 = 1
for i in range(0,36):
    temp = seed2
    #seed2 = function1(seed1,seed2)
    seed2 = seed1 + seed2
    print(seed2)
    seed1 = temp

#將一個列表的資料複製到另一個列表中。

print("\n Test 4:\n")

a = [1,2,3,4,5,6]
b = a[:];print(b);
b = a[0:len(a)];print(b);
b = a.copy();print(b);

#輸出 9*9 乘法口訣表。

for i in range(1,10):
    for j in range(1,10):
        print(i,"*",j,"=",i*j,"   ",end='')
        if i == j:
            print("\n")
            break;
'''
for i in range(1, 10):
    print()
    for j in range(1, i+1):
        print("%d*%d=%d" % (i, j, i*j),end="")
'''

#暫停3秒
print("\n Test 5:\n")

import time
print("Start Time",time.time())
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))
time.sleep(0.2);

print("End Time",time.time())
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))

#判斷101~200直接的素數

print("\n Test 6:\n")

origin = []
temp = []
total = 0
for i in range(101,201):
    origin.append(i)
    for j in range(2,i - 1):
        if i%j==0:
            temp.append(i)
for j in origin:
    if j in temp:
        continue
    else:
        total += 1
        print(j)
print("The total count is ",total)


#分解質因數

print("\n Test 7:\n")

def reduceNum(n):
    for i in range(2, n+1):
        if n % i == 0:
            #rst.append(i)
            print(i,",",end="")
            n = int(n/i)
            break
    if n == 1:
        print(";")
        return
    reduceNum(n)

reduceNum(90)
reduceNum(100)

#指定日期格式

print("\n Test 8:\n")

import datetime

if __name__ == '__main__':

    # 輸出今日日期,格式為 dd/mm/yyyy。更多選項可以檢視 strftime() 方法
    print(datetime.date.today().strftime('%d/%m/%Y'))

    # 建立日期物件
    miyazakiBirthDate = datetime.date(1941, 1, 5)

    print(miyazakiBirthDate.strftime('%d/%m/%Y'))

    # 日期算術運算
    miyazakiBirthNextDay = miyazakiBirthDate + datetime.timedelta(days=1)

    print(miyazakiBirthNextDay.strftime('%d/%m/%Y'))

    # 日期替換
    miyazakiFirstBirthday = miyazakiBirthDate.replace(year=miyazakiBirthDate.year + 1)

    print(miyazakiFirstBirthday.strftime('%d/%m/%Y'))

#判斷字元類別

print("\n Test 9:\n")

string = 'a'
print(string.isalpha())
print(string.islower())
print(string.isdecimal())

#測試class類

print("\n Test 10:\n")

class Person:
    def __init__(self,name):
        self.name1 = name
    def hello(self):
        name = "xx"
        print("hello:",self.name1)
    def hi(self):
        self.sayhi = "hi"

p = Person("haojianxiang")
p.hello();
p.hi()
print(p.sayhi)

#輸出一個隨機數

print("\n Test 11:\n")

import random

print(random.uniform(1,9))
print(int(random.uniform(1,9)))

#排序

print("\n Test 12:\n")

array = [1,34,6,2,7,23,8723,476,432,843,3,7,93,4,123,5]
array.sort(reverse=True)
print(array)

strArray = ['a','s','0','3','39','212','ad']
strArray.sort()
print(strArray)