2022年11月29日 星期二

Prime

 import time

n = 2*10**6


stTime = time.time()

p = [2,3,5]

for i in range(6,n,6):

    pflag = True

    for j in p:

        if (i+1)%j==0 :

            pflag = False

            break

        if j*j>i+1:break

    if pflag:p.append(i+1)

    pflag = True

    for j in p:

        if (i+5)%j==0 :

            pflag = False

            break

        if j*j>i+5:break

    if pflag:p.append(i+5)

print(p[-5:])

edTime = time.time()

print(edTime-stTime,len(p))

Fibonacci

 a = [0,1,1,2]

while  abs(a[-1]/a[-2]-a[-2]/a[-3])>0.001:

    t = a[-1]+a[-2]

    a.append(t)

print(*a,a[-1]/a[-2])

2022年11月22日 星期二

丙軟目錄製作要注意

 

目錄製作要注意

1.         直接開檔案,沿用原檔案邊界設定

2.         分頁要用:版面配置→分隔設定→分節符號→下一頁

3.         圖標打完新注音的「:」要先按Enter

4.         看題目

2022年11月21日 星期一

樂透開獎統計

 import random

as7 = []
for i in range(500):
    a = list(range(42))
    a = [i +1 for i in a ]

    for i in range(len(a)):
        t = random.randint(0,41)
        a[i],a[t] = a[t],a[i]
    s7 = a[:7]
    as7 = as7+s7
# print(as7)

sas7 = []
for i in range(1,42+1):
    sas7.append([as7.count(i),i])
sas7.sort()
sas7.reverse()

sas7head = sas7[:42]
sum_sas7head = 0
for i in sas7head:
    print(i[1],':',i[0])
    sum_sas7head += i[0]
print(sum_sas7head )

2022年11月15日 星期二

python list sample

 lines = [i for i in open('c:\\testdata\data1.txt','r',encoding=('utf-8'))]


d = []

for line in lines:

    no,name,ch,en,ma = line.split('\t')    

    no,ch,en,ma = int(no),int(ch),int(en),int(ma)

    total = ch+en+ma

    avg = int(total/3*100+0.5)/100

    t = [no,name,ch,en,ma,total,avg,1]

    d.append(t)


for i in range(len(d)):

    for j in range(len(d)):

        if d[i][5] <d[j][5]:

            d[i][7] = d[i][7]+1


head = ['座號','姓名','\t國文','英文','數學','總分','平均','名次']

head = '\t\t'.join(head)

print(head)

for i in d:

    t = [str(j) for j in i]

    t= '\t\t'.join(t)

    print(t)