Python 總結題目

?

題例1

# 打印如下長方形:
************ 
*          *
*          *
************
# 打印如下長方形:
print("*****************")
print("*               *")
print("*               *")
print("*****************")

題例2

# 中國古代的秤是16兩一斤,請問古代的216兩是古代的幾斤幾兩?
#    寫程序打印出來

all_liang = 216
jin = all_liang // 16  # 得到古代的斤
liang = all_liang % 16 # 得到古代的兩
print(all_liang,"是古代的",jin,"",liang,"")

題例3

# 從凌晨0:0:0 計時,到現在已經過了 63320秒,請問現在是幾時,幾分,幾秒,寫程序打印出來
#    (提示:用地板除和求余實現)# 計算時分秒
h = 63320 // 60 // 60 # 小時
f = 63320 // 60 % 60 # 分鐘
m = 63320 % 60 #
print(h,"小時",f,"分鐘",m,"") 

題例4

# 溫度轉換:
# 攝氏溫度 = 5.0 / 9.0 * (華氏溫度-32)
# 開氏溫度 = 攝氏溫度 + 273.15
# 問:
#    100華氏溫度轉為攝氏溫度是多少度,轉為開氏溫度是多少度?# 方法1
huashi = 100
sheshi = 5.0 / 9.0 *(huashi - 32)
print(huashi,"華氏度等于",sheshi,"攝氏度")
kaishi = sheshi + 273.15
print(huashi,"華氏度等于",kaishi,"開氏度")# 方法2
# 穩定轉換
s = 5.0 / 9.0 * (100-32)
k = s + 273.15
s = s // 1     # s = round(s,1)
k = k //1      # k = round(k,1)
print("攝氏溫度",s,"")
print("開氏溫度",k,"")

題例5

# 北京出租車計價程序
#    收費標準:
#    3公里以內收費13元
#    基本單價 2.3元/公里(超出3公里以外)
#    空駛費:超過15公里后,每公里加單價的50%空駛費(即:15公里后為 3.45元/公里)
#    要求:
#    輸入公里數,打印出費用金額(以元為單位,精確到分,分以后四舍五入)

km = float(input("請輸入公里:"))
if 1<= km <=3:print("收取費用:13元")elif km >15:d = (km-15)*3.45 + 13 + 2.3 * 12 # 超過15里必須漲價,沒有超過15公里不漲價d = round(d,2)print("消費費用:",d,"")elif km<=0:print("請重新輸入!")else:s = (km-3)*2.3 + 13 s = round(s,2)print("消費金額",s,"")

題例6

# 寫程序,任意給出三個數,打印出三個數中最大的一個數

a = int(input("請輸入第一個數字:"))
b = int(input("請輸入第二個數字:"))
c = int(input("請輸入第三個數字:"))
# 改進算法:
# 先假設第一個最大,用變量綁定
zuida = a 
if b > zuida:zuida = b
if c > zuida:zuida=c
print("最大數是:",zuida)

題例7

# BMI 指數(Body Mass Index) 又稱身體質量指數
# BMI值計算公式: BMI = 體重(公斤)/身高的平方(米)
#    如:
#    一個69公斤的人,身高是173公分
#    BMI =  69 / 1.73 ** 2  得 23.05
#    標準表:
#    BMI < 18.5 體重過輕
#    18.5 <= BMI < 24 正常范圍
#    BMI > 24 體重過重
#    輸入身高和體重,打印出BMI的值,并打印出體重狀況

s = float(input("請輸入身高:"))
t = float(input("請輸入體重:"))
bmi = t / s ** 2
bmi = round(bmi,2)
if bmi <= 18.5:print(bmi,"體重過輕")
elif 18.5<=bmi<24:print("BMI是:",bmi,"正常范圍")
else:bmi > 24print("BMI是:",bmi,"體重過重")

題例8

# 給出一個年份,判斷是否為閏年并打印
# 規則:
#    每四年一閏,每百年不閏,每四百年有閏
# 如:
#    2016年 閏年
#    2100年 不是閏年
#    2400年 是閏年
#    輸入一個年份,打印這一年是否是閏年 

y = int(input("請輸入月份:"))
# 方法1 
# 能被400整除或能被4整除但不能被100整除
if yue % 400 == 0 or (y % 4 == 0 and y % 100 !=0):print("是閏年")
else:print("不是閏年")# 方法2
if y % 400 == 0:print("是閏年")
elif y % 100 ==0:print("不是閏年")
elif y % 4 ==0:print("是閏年")
else:print("不是閏年")# 方法3 
z = yue % 4 == 0
y = yue % 400 == 0
x = yue % 100 != 0
if (z and y)or x:print("是閏年")
else:print("不是閏年")

題例9

# 輸入一個字符串,把輸入的字符串中的空格全部去掉,打印出處理后的字符串的長度和字符串的內容  

s = input("請輸入字符串:")
d = s.replace(" ","")
print("長度是:",len(d),"字符串內容:",d)

題例10

# 輸入三行文字,讓這三行文字在一個方框居中顯示
#    (注:不要輸入中文)
#    如輸入:
#    hello!
#    I'm studing python!
#    I like python!
#    打印如下:
#    +---------------------+
#    |      hello!       |
#    | I'm studing python  |
#    |   I like python     |
#    +---------------------+ a = input("請輸入第一個文字:")
b = input("請輸入第二個文字:")
c = input("請輸入第三個文字:")
s = max(len(a),len(b),len(c))
line = "+-"+"-"*s+"-+"
print(line)
print("| "+a.center(s)+" |")
print("| "+b.center(s)+" |")
print("| "+c.center(s)+" |")
print(line)

題例11

# 1.打印0~30 范圍內的所有偶數(能被2整除的數)
# 方法1 i = 0 while i <=30:if i % 2 == 0:print(i,end=" ")i += 1 print()# 方法2 i = 0 while i <= 30:print(i,end=" ")i+=2 print()

題例12

# 2.寫程序用while 語句生成如下的字符串,并打印出來
# 1) "ABCD.............XYZ"
# 2)  "AaBbCcDd.......XxYyZz"# 方法1
i = ord("A")
d = ord("a")
while i <=ord("Z"):print(chr(i),end="")print(chr(d),end=" ")d += 1i += 1
print()# 方法2
d = ord("a")-1
for x in range(ord("A"),ord("Z")+1):d = d + 1print(chr(x),end="")print(chr(d),end=" ")
print()

題例13

# 3.寫程序求:
#    1/1 + 1/3 + 1/5 + 1/7 + .....+1/99 的和# 方法1
i = 1
he=0
while i <=99:he = he + 1/ii = i + 2
print(he)

# 方法2
s = 0
fenmu = 1
while fenmu <= 99:
  s += 1/fenmu
fenmu += 2
print(s)

題例14

# 4.寫程序求:
#  1/1 - 1/3 + 1/5 - 1/7 + ..... +(+1)1/(2*n-1)的和
#  1)求當n取1000000時這個算式的和
#  2)求當n取1000000時這個算式的和乘4時多少
#     (答案:3.1415....)# 問題 1
while i <= 1000000:he = he + 1/(2*i-1)*dd = d * (-1)i+=1
print(he)
print(4*he)# 問題 2
s = 0 #累加和
n = 1 #分母
sign = 1 #符號
while n <= 1000000:s += sign * 1 / (2*n-1)sign *= -1 # 改變符號的正負n += 1
print(s)
print(s*4) #3.1415

題例15

# 5.打印九九乘法表 (需用到循環嵌套)
# 1x1=1
# 1x2=2  2x2=4
# 1x3=3  2x3=6 3x3=9
# ....
# 1x9=9....................... 9x9=81

i = 1
while i<=9:ji = 1while ji <=i:p = ji * iprint(ji,"x",i,"=",p,end="   ")ji += 1print()i+=1# 第一重循環控制行數
y = 1
while y<=9:# 此處打印一行訂內容,每行打印y個乘法x = 1while x <= y:#打印x *y的一列print("%dx%d=%-2d"%(x,y,x*y),end=" ")x += 1print() #換行y+=1

題例16

# 練習:
#    1.輸入一個整數,代表樹干的高度,打印如下一顆“圣誕樹”
#     如:
#    請輸入:2
#     打印
#      * 
#     ***
#      * 
#      *
#     如:
#    請輸入:3
#     打印
#      *
#     ***
#    *****
#      *
#      *
#      *# 方法1
n = int(input("請輸入一個整數:"))
i = 1
while i <= n:s = "*"*(2*i-1)d = (2*n-1)print(s.center(d))i+=1
w = 1
while w <=n:print("*".center(d))w += 1# 方法2
n = int(input("請輸入一個整數:")) 
# 打印樹冠部分
d = (2*n-1)  # d 代表樹冠最大下層葉子的星號個數
for x in range(1,n+1): # x line 代表行號s = "*"*(2*x-1)print(s.center(d))
# 打印樹干部分
for r in range(1,n+1):print("*".center(d))
for _ in range(n):print(" "*(n-1)+"*")

題例17

# 2.寫一個程序,任意輸入一個整數,判斷這個數是否是素數(prime)
#    打印結果
#    素質(也質數),只能被1和自身除的正整數
#    如: 2 3 5 7 11 13 17 19 .....
#    提示:
#    用排除法,當判斷x是否素數時,只要讓x分別除以 2,3,4,5,...x-1,只要有一個能被整除,則x不是素數
#    否則x為素數

x = int(input("請輸入一個整數:"))
if x<2:print("不是素數")
else:# 判斷x不是素數for s in range(2,x):
    if x % s == 0: #整除print("不是素數")       break# 能不能在此知道x是否為素數?else:print("是素數")

題例18

# 3. 輸入三行,將這三行文字  保存于一個列表L中,并打印
#     如:
#        請輸入:ABC
#        請輸入:123
#        請輸入:你好
#    生成如下列表并打印:
#    print(L)   # ["ABC","123","你好"] # 方法 1
l = []
while True:n = int(input("請輸入文字:"))if n < 0:breakl += [n]
print(l)

題例19

# 練習:
# 1. 已知有一個字符串:
# s = "100,200,300,500,800"
# 將其轉化為列表,列表內都為整數,即:
# L = [100,200,300,500,800]

s = "100,200,300,500,800"
l = s.split(",")
d =[]
for x in l:d = d + [int(x)]
print(d,end=" ")
print()s = "100,200,300,500,800"
l2 = s.split(",") #['100', '200', '300', '500', '800']
l = [int(x)for x in l2]
print(l)

題例20

# 2. 將一些數存于列表中,如:
#    L = [1,3,2,1,6,4,2,.....,98,82]
#    1)將列表中出現的數字存入到另一個列表L2中
#     要求:
#     重復出現多次的數只在L2列表中保留一份(去重)
#    2)將列表中出現兩次的數字存于L3列表中,在L3列表中只保留一份

# 問1
l = [1,3,2,1,6,4,2,98,82]
l2 = []
l3 = []
for x in l:if l2.count(x)==0:l2.append(x)if l.count(x)==2 and l3.count(x)==0:l3 +=[x]
print(l2)
print(l3)# 問2
l = [1,3,2,1,6,4,2,98,82]
l2 =[]
l3 = []
for x in l:if x not in l2:l2.append(x)if l.count(x) == 2 and x not in l3:l3.append(x)
print("L2 =",l2)
print("L3 =",l3)

題例21

# 3. 生成前40個斐波那契數(Fibonacci)
#    1 1 2 3 5 8 13 21
#    要求: 將這些數保存在列表中,最后打印這些數
#    注: 斐波那契數的前2個數為1 和 1 ,從第二個數起為前兩個數相加之和# 方法1:
l = []
a = 0 # a 表示第一個數的前一個數
b = 1 # b 表示第一個數
while len(l)<40:# 每次把b加入到列表中l.append(b)# 在算出下一個fibonacci數,存于b中c = a+b #算數下一個數a = b # 把當前作為前一個數b = c # 把新算出來的c交給b
print(l)
print(len(l))# 方法2
l=[1,1]
while len(l) < 40:# 每次生成,加進列表上l.append(l[-1]+l[-2])
print(l)
print(len(l))

題例22

# 1.思考下面的程序的執行結果是什么?為什么?
L = list(range(10))
for x in L:L.remove(x)print("L= ",L) # 請問是空列表么?# 2.輸入一些單詞和解釋,將單詞作為鍵,將解釋作為值,存入字典中,當輸入單詞或解釋為空是停止輸入,并打印這個字典
#    然后,輸入查詢的單詞,給出單詞的內容,如果單詞不存在則提示:
#    查無此詞

d = {}  # 創建一個空字典準備存儲數據
while True:a = input("請輸入單詞:")if not a:  # 如果a空字符串,則退出breakb = input("請輸入解釋:")if not b:breakd[a] = b# 走到此處,說明a ,b都綁定了正確訂值
print(d)
print("-------------以下開始查詢單詞---------------")
while True:c = input("請輸入查詢單詞:")if not c:breakif c in d:print(d[c])else:print("查無單詞")

題例23

# 3.<<學生信息管理項目>>
# 輸入任意個學生的姓名,年齡,成績,每個學生的信息存入字典,然后放入列表中,每個學生的信息需要手動輸入,當輸入姓名為空時
#    結束輸入
#    如:
#    請輸入姓名:tarena
#    請輸入年齡:20
#    請輸入成績:99
#    請輸入姓名:name2
#    請輸入年齡:18
#    請輸入成績:88
#    請輸入姓名:<回車>  結束輸入
#    內部存儲格式如下:
#    [{"name":"tarena","age":20,"score":99}
#    {"name":"tame","age":18,"score":88}]
#    打印上述此列表
#    然后再用表格的形式打印學生信息如下:
#    +-------------+---------+--------+
#    |    姓名      |   年齡  |   成績  |
#    +-------------+---------+--------+
#    |  tarena     |   20    |   99   |
#    +-------------+---------+--------+
#    |   name2     |   18    |   88   |
#    +-------------+---------+--------+
l = [] #創建一個列表,準備存放學生數據訂字典
while True:a = input("請輸入名字:")if not a: #如果用戶輸入字符串就結束輸入breakb = int(input("請輸入年齡:"))c = int(input("請輸入成績:"))t = {}       # 一定要每次創建一個新的字典# t["名字:"],t["年齡:"],t["成績:"] = (a,b,c)t["name"] = at["age"] = bt["score"] = cl.append(t)   #把生成的字典放在列表中
print(l)
print("+ "+"-"*30 +" +")
print("|"+"姓名".center(8)+"|"+"年齡".center(8)+"|"+"成績".center(8)+"|")
print("+ "+"-"*30 +" +")
for i in l:sa = i["name"].center(10)sb = str(i["age"]).center(10)sc = str(i["score"]).center(10)print("|"+sa+"|"+sb+"|"+sc+"|")
print("+ "+"-"*30+" +")

題例24

# 1.定義兩個函數:
#    sum3(a,b,c) 用于返回三個數的和
#    pow3(x)          用于返回x的三次方(立方)
#    用以上函數的計算:
#    1.計算1的立方 + 2的立方+3的立方的和
#    2.計算 1 + 2 +3 的和的立方
#    即:
#    1**3+2**3+3**3 和 (1+2+3)**3def sum3(a,b,c):x = a + b+creturn x 
def pow3(x):d = x**3return d 
printsun = sum3(pow3(1),pow3(2),pow3(3))
print(printsun)
print(pow3(sum3(1,2,3)))

題例25

# 2.寫一個函數 get_chinese_char_count(s),此函數功能是給定一個字符串是s,返回這個字符串中中文字符的個數
#    注:中文的編碼范圍是:0x4E00~0x9FA5def get_chinese_char_count(a):i = 0for x in a:if 0x4E00<=ord(x)<=0x9FA5:i+=1return i
s = input("請輸入中英文混合的字符串:")
print("中文字符的個數是:",get_chinese_char_count(s))

題例26

# 3.改寫之前的學生信息管理程序:
# 用兩個函數來封裝的代碼塊
#    函數1:input_student()  # 返回學生信息字典的列表
#    函數2:output_student() #打印學生信息的表格# def input_student():
#    ...此處自己實現
# def output_student(L):
#    ...此處自己實現

infos = input_student() print(infos) # 打印列表[{...},{...}] output_student(infos) # 根據實參infos打印表格def input_student(): # 打印死循環鍵盤輸出,存入字典,放在列表l = [] #創建一個列表,準備存放學生數據訂字典while True:a = input("請輸入名字:")if not a: #如果用戶輸入字符串就結束輸入breakb = int(input("請輸入年齡:"))c = int(input("請輸入成績:"))t = {}#一定要每次創建一個新的字典t["名字:"],t["年齡:"],t["成績:"] = (a,b,c)l.append(t) # 把字典放在列表print(l)return l
def output_student(l): # 打印表格以及輸出print("+ "+"-"*30 +" +")print("|"+"姓名".center(8)+"|"+"年齡".center(8)+"|"+"成績".center(8)+"|")print("+ "+"-"*30 +" +")for i in l:x = get_chinese_char_count(i["名字:"])sa = i["名字:"].center(10-x)sb = str(i["年齡:"]).center(10) #轉字符串sc = str(i["成績:"]).center(10) #轉字符串print("|"+sa+"|"+sb+"|"+sc+"|")print("+ "+"-"*30+" +")def get_chinese_char_count(s): # 計算中文輸入的長度i = 0for x in s:if 0x4E00<=ord(x)<=0x9FA5:i+=1return i# 改變量 infos = input_student() #把字典定義個變量 output_student(infos) #表格調用字典

題例27

# 1.算出100~999 以內的水仙花數(Narcissistic number)水仙花數是指百尾3次方加上十位的三次方加上各位的3次方
#    等于原數的整數
#    例如: 153 = 1**3 + 5**3 + 3**3
#    答案:  153,370,...# 方法1
for x in range(100,1000):# 拆出百位,十位,個位bai = x // 100 #百位shi = x // 10 % 10 #十位ge = x % 10 #個位if ge ** 3+ shi ** 3 +bai ** 3 == x:print(x)#滿足條件的水仙花數# 方法2
# 將數字轉為字符串
for x in range(100,1000):s = str(x)bai = int(s[0])shi = int(s[1])ge = int(s[2])if  x == bai ** 3 + shi ** 3 +ge ** 3:print(x)# 方法3
for bai in range(1,10):for shi in range(0,10):for ge in range(10):x = bai * 100  + shi *10 +geif x  ==bai ** 3 + shi ** 3 +ge ** 3:print(x)

題例28

# 2.完全數:
#    1+2+3=6(6為完全數)
#    1,2,3都為6的因數(能被一個數x整除的數為y,則y為x的因數)
#    1 x 6 = 6
#    2 x 3 = 6
#    完全數是指除自身以外的所有因數之和相加等于自身的數
#    求4~5個完全數,并打印
#    答案:
#    6
#    28  D
#    496
#    ...def is_perfect_number(x):# """此函數判斷x是否為完全數,如果是返回True,否則返回False"""l = [] #創建一個列表,用來存放x所有的因數for i in range(1,x):if x % i ==0: #整數了,i則一定是x的因數
            l.append(i)if sum(l)==x: # 是完全數return Truereturn Falsedef main():i = 2while True:# 如果i是完全數,則打印i的值if is_perfect_number(i):print(i)i+=1main()

題例29

# 3.寫一個myrange()函數,參數可以傳1~3個,實際意義同range函數規則相同,此函數返回符合range(...)函數規則的列表
#    如:
#    L = myrange(4)
#    print(L) # [0,1,2,3]
#    L = myrange(4,6)
#    print(L) #[4,5]
#    L = myrange(1,10,3)
#    print(L)   #[1,4,7]def myrange(start,stop=None,step=None):if stop is None: # if not stop:stop = startstart = 0if step is None:step = 1# 開始,結束和步長都已確定# seturn [x for x in range (start,stop,step)]if step > 0: # 正向l = []while start < stop:l.append(start)start += stepreturn lelif step < 0: # 反向l =[]while start > stop:l.append(start)start += stepreturn ll = myrange(4)
print(l)
l =myrange(4,6)
print(l)
l = myrange(1,10,3)
print(l)
l = myrange(10,1,-2)
print(l)

題例30

# 1. 寫一個函數mysum(n),此函數用來計算
#    1+2+3+4+....+n 的和
#   (要求:不布允許調用sum)
#  如:
#    print(mysum(100)) #5050
#    print(mysum(4))#10def mysum1(n):s = 0for x in range(1,n+1):s = s+xreturn s 
print(mysum1(100))
print(mysum1(4))def mysum2(n):return sum(range(1,n+1))
print(mysum2(100))
print(mysum2(4))

題例31

# 2.寫一個函數myfac(n)  來計算n!(n的階乘)
#  n!=1*2*3*4*...*n
#  如:
#  print(myfac([5]))  #120# 3.寫一個函數計算
#  1+ 2**2 + 3**3 + 4**4...+n**n的和
# (n給個小點數來進行測試)   # 1+ 2**2 + 3**3 +...+ n**n的和
# 方法1
def mysum(n):s = 0for x in range(1,n+1):s = s + x**xreturn s
print(mysum(3))# 方法2
def mysum(n):s = sum([x**x for x in range(1,n+1)])return s 
print(mysum(3))# 方法3
def mysum(n):return sum(map(lambda x:x**x,range(1,n+1)))
print(mysum(3))

題例32

# 1.編寫函數fun,其功能是計算并返回下列多項式的和
# Sn = 1 + 1/1! + 1/2! + 1/3! +  ... 1/n!
#  (建議用數學模塊中的math.factorial(x)函數)
# 求當 n = 20時,Sn的值# 方法1
def fum(n):from math import factorial as facs = 0for x in range(0,n+1):s = s + 1/(fac(x))return s
print(fum(20))# 方法2
def fum(n):from math import factorial as facreturn sum([1/fac(x) for x in range(n+1)])
print(fum(20))# 方法3
def fum(n):from math import factorial as facreturn sum(map(lambda x: 1/fac(x),range(n+1)))
print(fum(20))

題例33

# 2.寫一個程序,以電子時鐘格式打印時間:
# 格式為:
#  HH:MM:SS#  2.寫一個程序,以電子時鐘格式打印時間:
def show_time():import timewhile True:n = time.time()s = time.localtime(n)# t = s[3],s[4],s[5]# print("%02d:%02d:%02d" % t,end="\r")print("%02d:%02d:%02d" % s[3:6],end="\r")time.sleep(1)
show_time()

題例34

# 3.編寫一個鬧鐘程序,啟動時設置定時時間,到時間后打印一句“時間到!”然后程序退出!

a = int(input("請輸入小時:"))
b = int(input("請輸入分鐘:"))
c = int(input("請輸入分秒:"))
import time
while True:n = time.time()s = time.localtime(n)if s[3] ==a and s[4]==b and s[5]==c:print("時間到!")breakelse:print("%02d:%02d:%02d" % (s[3:6]),end="\r")time.sleep(1)def alarm(hour,minute):import timewhile True:t = time.localtime()  #獲取當前時間print("%02d:%02d:%02d" % (t[3:6]),end="\r")time.sleep(0.1)# if t[3] == hour and t[4] == minute:if t[3:5] == (hour,minute):print("時間到!!!")returna = int(input("請輸入小時:"))
b = int(input("請輸入分鐘:"))
alarm(a,b)

題例35

# 1. 隨機生成6位密碼:
#    可以作為密碼的字符有:
#    a-z,A-Z,0-9
#    隨機生成一個6位的密碼# 方法1
import random as r
cord = ("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789")
for s in range(0,6):d = r.randint(0,len(cord)-1)c = cord[d]print(c,end="")
print()# 方法2
import random
char = [chr(x) for x in range(65,65+26)]
char += [chr(x) for x in range(97,97+26)]
char += [str(x) for x in range(10)]
passwd =" " 
for d in range(6):passwd += random.choice(char)
print(passwd)

題例36

# 2. 模擬斗地主發牌,牌共54張
# 種類:
# 黑桃("\u2660"),梅花("\u2663"),方塊("\u2665"),紅桃("\u2666")
# 數字:
# A2-10JQK
#    三牌:大小王
#    三個,每人發17張牌,底牌留三張
#    輸入回車,打印第一個人的17張牌
#    輸入回車,打印第二個人的17張牌
#    輸入回車,打印第三個人的17張牌
#    輸入回車,打印3張底牌print("歡迎來到發牌程序")
import random
import time
r = ["大王","小王"] #容器
pai = ["A","J","Q","K"]
shu = ["\u2660","\u2663","\u2665","\u2666"] 
for x in range(2,10+1):r.append(shu[0]+str(x))r.append(shu[1]+str(x))    r.append(shu[2]+str(x))r.append(shu[3]+str(x))
for y in range(1,4+1):r.append(shu[0]+pai[0])r.append(shu[1]+pai[1])r.append(shu[2]+pai[2])r.append(shu[3]+pai[3])
time.sleep(1)
print(r)print("--------------------------------------------------")
random.shuffle(r)
s1 = r[0:17]
s2 = r[17:34]
s3 = r[34:51]
s4 = r[51:]input("第一個人牌")
print(s1)
input("第二個人牌")
print(s2)
input("第三個人牌")
print(s3)
input("底牌")
print(s4)# 方法2
poke = ["大王","小王"]
kinds = ["\u2660","\u2663","\u2665","\u2666"]
numbers =["A"]
numbers += [str(x)for x in range(2,11)]
numbers += list("JQK")
# for k in kinds:
#     for n in numbers:
#         poke.append(k+n)
poke += [k+n for k in kinds for n in numbers]
print(poke)
assert len(poke)==54,"出錯"
# 打亂
poke2 = poke.copy()
import random
random.shuffle(poke2)
player1 = poke2[:17]
player2 = poke2[17:34]
player3 = poke2[34:51]
base = poke2[51:]input()
print("打印第一個人的17張牌:",player1)
input()
print("打印第二個人的17張牌:",player2)
input()
print("打印第三個人的17張牌:",player3)
input()
print("三張底牌:",base)

題例37

# 1. 一個球從100米高空落下,每次落地后反彈高度為原高度的一半,再落下,寫程序算出:
#    1) 皮球在第10次落地后反彈的高度
#    2) 皮球在第10次落地反彈后共經歷多少米路程

s = 100
lucheng = 0
for x in range(10):s = s / 2 lucheng = lucheng + (s+s/2)*2
print(s)
print(lucheng)def get_last_height(height,times):"""height 原來的高度times  為反彈次數"""for _ in range(times):height /= 2 # 每次反彈高度為原高度的一半return height
print("皮球從100米高度落下反彈十次后高度為:",get_last_height(100,10))def get_distance(height,times):meter = 0 # 用來記錄總路程for _ in range(times):# 累加下落過程的路程meter += heightheight /=2 # 計算返回后的高度# 累加反彈之后的路程meter += heightreturn meter
print("皮球從100米高度落下反彈十次后的總路程為:",get_distance(100,10))

題例38

# 2.分解質因數,輸入一個正整數,分解質因數
# 如:
#    輸入: 90
#    打印:
#    90 = 2 * 3 * 3 * 5
#    (質因數是指最小能被原數整數的素數(不包括1))print("----------"*10)
# 方法1 s
= int(input("請輸入一個整數:")) n=s if s ==2:print(s) else:l = []while True:for x in range(2,s+1):if s % x==0:s = s // xl.append(str(x))breakif s==1:break a=" * ".join(l) print(n,"=",a)
# 方法2(封裝)
def get_zhiyin_list(x):"""此函數返回x的質因數的列表如x = 90返回[2,3,3,5]"""l =[] #準備存放質因數while x > 1:# 每次求取一個質因數,然后放在l中for i in range(2,x+1):if x % i ==0: # i一定質因數 l.append(i)x = int(x/i)break # 進入下一次whilereturn lx = int(input("請輸入正整數:")) l = get_zhiyin_list(x) l2 = (str(x)for x in l) print(x,"=","*".join(l2))

轉載于:https://www.cnblogs.com/Axianba/p/11133898.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448155.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448155.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448155.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue : 引入、安裝 jquery 、bootstrap

一、vue安裝jquery 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1、新建一個vue工程。 2、在項目文件夾下&#xff0c;使用命令 npm install jquery --save-dev 引入jquery。 np…

2013駕考科目三考試難點解析

原來規定科目三考試上車準備、起步、直線行駛等13個道路駕駛技能項目。123號令實施后&#xff0c;科目三考試分兩部分。道路駕駛技能考試項目增加到16項&#xff0c;增加了加減擋位操作、路口左轉彎、路口右轉彎3個考試項目&#xff0c;駕駛里程也增加。如何順利通過2013駕考科…

leetcode練習——棧(1)

題號20&#xff1a;Invalid Parentheses Given a string containing just the characters (, ), {, }, [ and ], determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets.Open brackets must be…

Asp.Net MVC 頁面代碼壓縮篩選器-自定義刪除無效內容

Asp.Net MVC 頁面代碼壓縮篩選器 首先定義以下篩選器&#xff0c;用于代碼壓縮。 /*頁面壓縮 篩選器*/public class WhiteSpaceFilter : Stream{private Stream _shrink;private Func<string, string> _filter;public WhiteSpaceFilter(Stream shrink, Func<string, s…

基于java的數據結構學習——數組實現的隊列和循環隊列及性能對比

隊列 Queue 隊列也是一種線性結構相比數組&#xff0c;隊列對應的操作是數組的子集只能從一端&#xff08;隊尾&#xff09;添加元素&#xff0c;只能從另一端&#xff08;隊首&#xff09;取出元素隊列是一種先進先出的數據結構 隊列的實現及復雜度分析 Queue<E> voi…

新手如何準確的控制油門

日常練車還不賴&#xff0c;可是一換車就容易加大油門兒&#xff0c;有啥子辦法能美好的扼制油呢?和調的坐位有關系嗎? 答&#xff1a;油門兒跟剎車被視為交通工具扼制的魂靈。交通工具引擎發動機的油門兒&#xff0c;通常是靠踏板來扼制的&#xff0c;也稱加速踏板&#xff…

vue 項目:文件夾 結構 、配置詳解

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 項目配置 首先&#xff0c;在確定好使用的框架和組件庫后&#xff0c;先要大致了解它們&#xff0c;做到文檔基本熟悉。本次開發使用…

hdoj2553(N皇后問題)

Problem : 2553 ( N皇后問題 ) Judge Status : Accepted RunId : 2619754 Language : G Author : huwenbiao Code Render Status : Rendered By HDOJ G Code Render Version 0.01 Beta/***************************************************************\ *Author:Hu…

基于java的數據結構學習——數組實現的棧以及簡單應用C++實現

基于java的數據結構學習——數組實現的棧以及簡單應用的 C 實現 源碼&#xff1a; // // Created by PC-Saw on 2019/1/3. //#ifndef DATA_STRUCTURE_ARRAYSTACK_H #define DATA_STRUCTURE_ARRAYSTACK_H#include "Stack.h" #include "MyArray.h"template&…

女性開車5大安全駕車好習慣 為您支招

一些女性車主技術不夠熟練&#xff0c;緊急處理能力差&#xff0c;開車過程中需要注意更多的細節。養成一些好習慣&#xff0c;對于女性車主來說&#xff0c;開車的安全度會大大提高。 ● 車窗上不掛毛絨玩具 汽車是生活的一部分空間&#xff0c;許多女性車主都喜歡把這部分空間…

DIV 半透明層、 CSS實現網頁 背景半透明

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 DIV半透明實現&#xff0c;使用CSS實現DIV成半透明效果&#xff0c;CSS實現層與背景半透明效果。 一、DIV CSS半透明基礎介紹 - …

node 安裝 webpack

首先要安裝 Node.js&#xff0c; Node.js 自帶了軟件包管理器 npm&#xff0c;Webpack 需要 Node.js v0.6 以上支持&#xff0c;建議使用最新版 Node.js。 用 npm 安裝 Webpack&#xff1a; $ npm install webpack -g此時 Webpack 已經安裝到了全局環境下&#xff0c;可以通過命…

Thinking in C++遇到的函數指針及應用

// // Created by PC-Saw on 2019/1/24. //#include <iostream>#define TEST 2/* 1. */ typedef int* (*(*fp1)(int))[10]; // 首先是一個函數指針&#xff0c;接受一個int型參數&#xff0c;返回一個指向10個int指針數組的指針 /* 2. */ typedef i…

html 標簽內背景圖片自適應 div 大小

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 只需通過css設置background-size屬性為contain&#xff0c;即 background-size:contain 注意&#xff1a;一定要在先設置background之…

Code Project精彩系列(轉)

Code Project精彩系列&#xff08;轉&#xff09; Applications Crafting a C# forms Editor From scratch http://www.codeproject.com/csharp/SharpFormEditorDemo.asp 建立一個類似C#的環境, 實現控件拖拉&#xff0c;屬性 Packet Capture and Analayzer 網絡封包截獲 http…

加速時如何換擋

加速時如何換擋&#xff0c;您知道嗎?為了使換擋過程順利進行&#xff0c;變速器內齒輪平穩嚙合&#xff0c;必須掌握好發動機轉速&#xff0c;在適當時機推動變速桿操縱齒輪嚙合。為此&#xff0c;要通過反復練習&#xff0c;一邊踩踏油門踏板&#xff0c;一邊聽發動機運轉聲…

C++ 學習雜談:sizeof和sizeof(string)的問題

最近遇到一個令我困惑的問題&#xff0c;就是 sizeof&#xff08;string&#xff09;的值&#xff0c;之前在vs2010上測得是固定28&#xff0c;最近在用CLion&#xff0c;上面測得是4&#xff0c;出現了不一樣的結果&#xff0c;我又在vs2013上試了一下&#xff0c;結果又不一樣…

vue 項目 引用(外部) js、css

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我的工程結構&#xff1a; 1. 引入 css 有 2 種方式&#xff1a; 方式 1 <script type"text/javascript">import .…

FAQ:Container Classes篇

1、Why should I use container classes rather than simple arrays?&#xff08;為什么應該使用容器類而不是簡單的數組&#xff1f;&#xff09; In terms of time and space, a contiguous array of any kind is just about the optimal construct for accessing a sequen…

自動擋車擋位的基本知識介紹

一般來說&#xff0c;自動檔汽車的自動變速器的檔位分為P、R、N、D、2 (或S)、L(或1)等。下面分別詳細介紹如下&#xff1a; P (Parking) 停車檔&#xff0c;或稱泊車檔&#xff1a; P用作停車之用&#xff0c;它是利用機械裝置去鎖緊汽車的轉動部分&#xff0c;使汽車不能移動…