每日找2至5個小程式,研究清楚後上傳至這裡,分享給一起學習的夥伴!
每個程式2行以上
成果預計
暑假結束,9月開學時
累積2*60~5*60個程式基礎,功力大增!
有空看看同學上傳的,一起交流,那就是2*60*10~5*60*10了!
大家加油!
每日找2至5個小程式,研究清楚後上傳至這裡,分享給一起學習的夥伴!
每個程式2行以上
成果預計
暑假結束,9月開學時
累積2*60~5*60個程式基礎,功力大增!
有空看看同學上傳的,一起交流,那就是2*60*10~5*60*10了!
大家加油!
p = '''
a = a.replace('.',' ').replace(',',' ')
a = a.split()
a = [i for i in a if i>'']
# print(a)
# print(len(a))
sa = set(a)
# print(sa)
# print(len(sa))
b = []
for i in sa:
t = [a.count(i),i.strip().lower()]
b.append(t)
b.sort()
b.reverse()
b0 = [i[0] for i in b]
# print(*b)
# for i in b:
# print(i[0],':',i[1])
# for i in b[:30]:
# print(i)
c = [i for i in b if i[0]>1 and i[1]>'9']
c0 = [i[0] for i in c]
# for i in c:
# print(i)
# print(len(c))
# print(sum(b0),sum(c0))
for i in c:
outline = f'{i[1]:<15} :{i[0]:>10}'
print(outline)
p = int(sum(c0)/sum(b0) * 10000)/100
print(p)
print(len(c0))
'''
print(p)
p1 = p.splitlines()
# p1 = [i for i in p.split('\n')]
print(len(p1))
for i in p1:
if len(i) >0:
t = i
t = t.strip()
if t[0]!='#':
print(i)
# 執行結果
a = a.replace('.',' ').replace(',',' ')
a = a.split()
a = [i for i in a if i>'']
sa = set(a)
b = []
for i in sa:
t = [a.count(i),i.strip().lower()]
b.append(t)
b.sort()
b.reverse()
b0 = [i[0] for i in b]
c = [i for i in b if i[0]>1 and i[1]>'9']
c0 = [i[0] for i in c]
for i in c:
outline = f'{i[1]:<15} :{i[0]:>10}'
print(outline)
p = int(sum(c0)/sum(b0) * 10000)/100
print(p)
print(len(c0))
using System;
public class Program
{
public static void Main()
{
string a = "10,20";
string[] b = new string[2];
//b = a.Split(',');
string tem = "";
foreach(char ch in a)
if (ch==',')
{
b[0]=tem;
tem = "";
}
else
tem=tem+ch;
b[1]=tem;
Console.WriteLine(b[0]);
Console.WriteLine(b[1]);
string[] c = new string[2];
c = mySplit(a);
Console.WriteLine(c[0]);
Console.WriteLine(c[1]);
}
public static string[] mySplit(string a)
{
string[] b = new string[2];
string tem = "";
foreach(char ch in a)
if (ch==',')
{
b[0]=tem;
tem = "";
}
else
tem=tem+ch;
b[1]=tem;
return b;
}
}
#第一版
#d = 'C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山'
#ans = d[0]
#question = d[1:7]
#ansA = d[7:13]
#ansB = d[13:20]
#ansC = d[20:25]
#ansD = d[25:]
#
#q1 = ans + question + ansA + ansB + ansC + ansD
#print(q1)
#ans = 'A'
#q2 = ans + question + ansC + ansB + ansA + ansD
#print(q2)
#執行結果
#C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山
#A台灣最高山?(C)玉山(B)南湖大山(A)阿里山(D)八卦山
##第二版
#d = 'C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山'
#ans = d[0]
#question,ansA,ansB,ansC,ansD = d[1:].split('(')
#ansA = ansA[2:]
#ansB = ansB[2:]
#ansC = ansC[2:]
#ansD = ansD[2:]
#
#q1 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansC +'(D)'+ ansD
#print(q1)
#ans = 'A'
#q2 = ans + question +'(A)'+ ansC +'(B)'+ ansB +'(C)'+ ansA +'(D)'+ ansD
#print(q2)
##第三版
##d = 'C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山'
##d = 'B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山'
##d = 'A台灣最高山?(A)玉山(B)阿里山(C)南湖大山(D)八卦山'
#d = 'D台灣最高山?(A)八卦山(B)阿里山(C)南湖大山(D)玉山'
#ans = d[0]
#question,ansA,ansB,ansC,ansD = d[1:].split('(')
#ansA = ansA[2:]
#ansB = ansB[2:]
#ansC = ansC[2:]
#ansD = ansD[2:]
#
#q1 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansC +'(D)'+ ansD
#print(q1)
#if ans=='D':
# ans = 'C'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansD +'(D)'+ ansC
#elif ans=='C':
# ans = 'A'
# q2 = ans + question +'(A)'+ ansC +'(B)'+ ansB +'(C)'+ ansA +'(D)'+ ansD
#elif ans=='B':
# ans = 'D'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansD +'(C)'+ ansC +'(D)'+ ansB
#elif ans=='A':
# ans = 'B'
# q2 = ans + question +'(A)'+ ansB +'(B)'+ ansA +'(C)'+ ansC +'(D)'+ ansD
#print(q2)
#第四版
# dd = []
# d = 'C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山'
# dd.append(d)
# d = 'B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山'
# dd.append(d)
# d = 'A台灣最高山?(A)玉山(B)阿里山(C)南湖大山(D)八卦山'
# dd.append(d)
# d = 'D台灣最高山?(A)八卦山(B)阿里山(C)南湖大山(D)玉山'
# dd.append(d)
# for d in dd:
# ans = d[0]
# question,ansA,ansB,ansC,ansD = d[1:].split('(')
# ansA = ansA[2:]
# ansB = ansB[2:]
# ansC = ansC[2:]
# ansD = ansD[2:]
# q1 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansC +'(D)'+ ansD
# print(q1)
# if ans=='D':
# ans = 'C'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansD +'(D)'+ ansC
# elif ans=='C':
# ans = 'A'
# q2 = ans + question +'(A)'+ ansC +'(B)'+ ansB +'(C)'+ ansA +'(D)'+ ansD
# elif ans=='B':
# ans = 'D'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansD +'(C)'+ ansC +'(D)'+ ansB
# elif ans=='A':
# ans = 'B'
# q2 = ans + question +'(A)'+ ansB +'(B)'+ ansA +'(C)'+ ansC +'(D)'+ ansD
# print(q2)
# 執行結果
# A台灣最高山?(A)玉山(B)南湖大山(C)阿里山(D)八卦山
# B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# D台灣最高山?(A)阿里山(B)八卦山(C)南湖大山(D)玉山
# A台灣最高山?(A)玉山(B)阿里山(C)南湖大山(D)八卦山
# B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# D台灣最高山?(A)八卦山(B)阿里山(C)南湖大山(D)玉山
# C台灣最高山?(A)八卦山(B)阿里山(C)玉山(D)南湖大山
# #第五版
# ddd = '''
# C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山
# B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# A台灣最高山?(A)玉山(B)阿里山(C)南湖大山(D)八卦山
# D台灣最高山?(A)八卦山(B)阿里山(C)南湖大山(D)玉山
# '''
# dd = ddd.strip().splitlines()
# for d in dd:
# ans = d[0]
# question,ansA,ansB,ansC,ansD = d[1:].split('(')
# ansA = ansA[2:]
# ansB = ansB[2:]
# ansC = ansC[2:]
# ansD = ansD[2:]
# q1 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansC +'(D)'+ ansD
# # print(q1)
# if ans=='D':
# ans = 'C'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansD +'(D)'+ ansC
# elif ans=='C':
# ans = 'A'
# q2 = ans + question +'(A)'+ ansC +'(B)'+ ansB +'(C)'+ ansA +'(D)'+ ansD
# elif ans=='B':
# ans = 'D'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansD +'(C)'+ ansC +'(D)'+ ansB
# elif ans=='A':
# ans = 'B'
# q2 = ans + question +'(A)'+ ansB +'(B)'+ ansA +'(C)'+ ansC +'(D)'+ ansD
# print(q2)
# # 執行結果
# #第六版
# # ddd = '''
# # C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山
# # B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# # A台灣最高山?(A)玉山(B)阿里山(C)南湖大山(D)八卦山
# # D台灣最高山?(A)八卦山(B)阿里山(C)南湖大山(D)玉山
# # '''
# f1 = open("q10.data",encoding='utf-8')
# dd = f1.readlines()
# dd = [i[:-1] for i in dd]
# # print(dd)
# # dd = ddd.strip().splitlines()
# for d in dd:
# ans = d[0]
# question,ansA,ansB,ansC,ansD = d[1:].split('(')
# ansA = ansA[2:]
# ansB = ansB[2:]
# ansC = ansC[2:]
# ansD = ansD[2:]
# q1 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansC +'(D)'+ ansD
# # print(q1)
# if ans=='D':
# ans = 'C'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansD +'(D)'+ ansC
# elif ans=='C':
# ans = 'A'
# q2 = ans + question +'(A)'+ ansC +'(B)'+ ansB +'(C)'+ ansA +'(D)'+ ansD
# elif ans=='B':
# ans = 'D'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansD +'(C)'+ ansC +'(D)'+ ansB
# elif ans=='A':
# ans = 'B'
# q2 = ans + question +'(A)'+ ansB +'(B)'+ ansA +'(C)'+ ansC +'(D)'+ ansD
# print(q2)
# # 執行結果
# A台灣最高山?(A)玉山(B)南湖大山(C)阿里山(D)八卦山
# D台灣最高山?(A)阿里山(B)八卦山(C)南湖大山(D)玉山
# B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# C台灣最高山?(A)八卦山(B)阿里山(C)玉(D)南湖大山
# #第七版
# f1 = open("q10.data",encoding='utf-8')
# dd = f1.readlines()
# dd = [i[:-1] if i[-1]=='\n' else i for i in dd]
# for d in dd:
# # print(d)
# ans = d[0]
# question,ansA,ansB,ansC,ansD = d[1:].split('(')
# ansA = ansA[2:]
# ansB = ansB[2:]
# ansC = ansC[2:]
# ansD = ansD[2:]
# q1 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansC +'(D)'+ ansD
# # print(q1)
# if ans=='D':
# ans = 'C'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansB +'(C)'+ ansD +'(D)'+ ansC
# elif ans=='C':
# ans = 'A'
# q2 = ans + question +'(A)'+ ansC +'(B)'+ ansB +'(C)'+ ansA +'(D)'+ ansD
# elif ans=='B':
# ans = 'D'
# q2 = ans + question +'(A)'+ ansA +'(B)'+ ansD +'(C)'+ ansC +'(D)'+ ansB
# elif ans=='A':
# ans = 'B'
# q2 = ans + question +'(A)'+ ansB +'(B)'+ ansA +'(C)'+ ansC +'(D)'+ ansD
# print(q2)
# # 執行結果
# A台灣最高山?(A)玉山(B)南湖大山(C)阿里山(D)八卦山
# D台灣最高山?(A)阿里山(B)八卦山(C)南湖大山(D)玉山
# B台灣最高山?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# C台灣最高山?(A)八卦山(B)阿里山(C)玉山(D)南湖大山
# #第八版
# # q10.data
# # C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山
# # A哪一個山在嘉義?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# # D哪一個山在彰化?(A)玉山(B)阿里山(C)南湖大山(D)八卦山
# # C哪一個山在宜蘭?(A)八卦山(B)阿里山(C)南湖大山(D)玉山
# f1 = open("q10.data",encoding='utf-8')
# dd = f1.readlines()
# dd = [i[:-1] if i[-1]=='\n' else i for i in dd]
# for d in dd:
# ans = d[0]
# dlist = d[1:].split('(')
# question = dlist[0]
# ansList = dlist[1:]
# ansList = [i[2:] for i in ansList ]
# ansText = ansList['ABCD'.index(ans)]
# ansList.sort()
# newAns = 'ABCD'[ansList.index(ansText)]
# q2 = newAns + question +'(A)'+ ansList[0] +'(B)'+ ansList[1] +'(C)'+ ansList[2] +'(D)'+ ansList[3]
# print(q2)
# # 執行結果
# # C台灣最高山?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
# # D哪一個山在嘉義?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
# # A哪一個山在彰化?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
# # B哪一個山在宜蘭?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
#第九版
# q10.data
# C台灣最高山?(A)阿里山(B)南湖大山(C)玉山(D)八卦山
# A哪一個山在嘉義?(A)阿里山(B)玉山(C)南湖大山(D)八卦山
# D哪一個山在彰化?(A)玉山(B)阿里山(C)南湖大山(D)八卦山
# C哪一個山在宜蘭?(A)八卦山(B)阿里山(C)南湖大山(D)玉山
f1 = open("q10.data",encoding="utf-8")
f2 = open("q10.out","w",encoding="utf-8")
dd = f1.readlines()
dd = [i[:-1] if i[-1]=='\n' else i for i in dd]
for d in dd:
ans = d[0]
dlist = d[1:].split('(')
question = dlist[0]
ansList = dlist[1:]
ansList = [i[2:] for i in ansList ]
ansText = ansList['ABCD'.index(ans)]
ansList.sort()
newAns = 'ABCD'[ansList.index(ansText)]
q2 = newAns + question +'(A)'+ ansList[0] +'(B)'+ ansList[1] +'(C)'+ ansList[2] +'(D)'+ ansList[3]
print(q2)
f2.write(q2+'\n')
# 執行結果 q10.out
# C台灣最高山?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
# D哪一個山在嘉義?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
# A哪一個山在彰化?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
# B哪一個山在宜蘭?(A)八卦山(B)南湖大山(C)玉山(D)阿里山
def two2ten(a):
# a = '10101'
b = [int(i) for i in a]
# print(b)
c = []
s = 0
k =len(a)-1
for i in b:
s = s + i*2**k
k-=1
return s
def ten2two(n):
# n = 18
if n==0 :return '0'
s = ''
while n>=1:
s = str(n%2) + s
n = n//2
return s
for i in ['1','10','11','101','10111011']:
print(f'{i} -> {two2ten(i)}')
for i in range(20):
print(i,ten2two(i))
https://buzzorange.com/techorange/2021/03/02/11-projects-for-python-beginner/
參考解答
# n = int(input('請輸入一個數字:(1-1000)'))
# if n%2==0:
# print("偶數")
# else:
# print("奇數")
# import random
# main = ['王小美','林小明','李大華']
# location = ['教室','浴室','公車上','廁所']
# do = ['看書','刷牙','吃東西','睡覺' ]
# a,b,c = random.randint(0,2),random.randint(0,3),random.randint(0,3)
# msg = main[a]+"在"+location[b]+do[c]
# print(msg)
# 畫面:你心裡在想什麼?
# 輸入:我要成為寫程式的專家
# 輸出:你用了 10 個文字述說內心的想法
# a = input('你心裡在想什麼?')
# n = len(a)
# msg = f'你用了 {n} 個文字述說內心的想法'
# print(msg)
# 畫面:你心裡在想什麼?
# 輸入:我要成為寫程式的專家
# 輸出:你用了 10 個文字述說內心的想法
# a = input('你心裡在想什麼?')
# n = len(a)
# msg = f'你用了 {n} 個文字述說內心的想法'
# print(msg)
# 字母縮寫(What’s my acronym?)
# 使用者輸入一段話,程式抓出單字的第一個字母,並輸出縮寫。
# 例如:
# 輸入:As Soon As Possible
# 輸出:ASAP
# 英文縮寫
# english=input("輸入英文句子:")
# index_list=[]
# suoxie=english[0]
# for i, element in enumerate(english):
# if element==" ":
# index_list.append(i)
# for i in index_list:
# suoxie+=english[i+1]
# print(suoxie.upper())
# english=input("輸入英文句子:")
# english = english.split()
# for i in english:
# print(i[0].upper(),end='')
# Email 域名判斷器(Email slicer)
# 請用戶輸入 Email 地址,然後判斷它是自定義域名還是熱門域名。
# 例如:
# 輸入:mary.jane@gmail.com
# 輸出:這是註冊在 Google 之下的 Email 地址
# 輸入:peter.pan@myfantasy.com
# 輸出:這是在 MyFantasy 之下自定義域
a = input('輸入 Email 地址?')
a = a.split('@')
# print(a)
b = a[1].split('.')
# print(b[0])
if b[0] in ['gmail','yahoo','cyvs']:
msg = f'這是註冊在 {b[0]} 之下的 Email 地址'
else:
msg = f'這是在 {b[0]} 之下自定義域'
print(msg)