1、整數轉二進位 2、搖骰子游戲 3、猜密碼 4、查詢天氣 首先創建city.py ...
1、整數轉二進位
def getnumber(): while True: try: a = int(input("輸入一個整數:")) except ValueError: print("輸入的類型有誤,重新輸入!") else: if type(a) == int: return a ################################################# sum=[] print("輸入一個數字轉換為十六進位:") a = getnumber() sum.append(a) while True: pd = input("是否繼續添加數字?輸入'y' or 'n':") if pd is "y": a = getnumber() sum.append(a) elif pd is 'n': break else: print("輸入錯誤") for i in sum: print(i,'的十六進位為',hex(i)) input('按任意鍵結束...')
2、搖骰子游戲
1 import random 2 #執行搖骰子,隨機取3-18之間的整數 3 def SetPoint(): 4 Point = random.randint(3,18) 5 return Point 6 7 #獲取游戲模式 8 def Get_GamePattern(): 9 while True: 10 try: 11 ms = int(input('輸入1比大小模式,輸入2為壓點數模式(比大小勝利贏得雙倍積分獎勵,壓點數勝利贏得十倍積分獎勵)\n')) 12 except ValueError: 13 print('輸入錯誤,請重新輸入。') 14 print('**************************') 15 else: 16 print('**************************') 17 if ms == 1: 18 print('開始游戲,比大小模式:') 19 return ms 20 elif ms == 2: 21 print('開始游戲,壓點數模式') 22 return ms 23 else: 24 print('輸入錯誤,請重新輸入。') 25 print('**************************') 26 continue 27 28 29 integral = 100 30 if Get_GamePattern() == 1: 31 while True: 32 try: 33 print('**************************') 34 a = SetPoint() # 機器搖骰子的點數 35 b = SetPoint() # 自己搖骰子的點數 36 y_integral = int(input('請輸入需要壓的積分:\n')) 37 if y_integral < 0: 38 print('輸入有誤,請重新輸入。') 39 continue 40 if y_integral > integral: 41 print('**************************') 42 print('壓的積分數不能大於現有積分。') 43 continue 44 else: 45 #integral = integral - y_integral 46 if integral < 0 : 47 pass 48 else: 49 print('**************************') 50 print('機器搖骰子的點數為:',a) 51 print('你搖骰子的點數為:',b) 52 if a < b: 53 integral = integral + y_integral 54 print('恭喜你!你贏了!積分變化為:',integral) 55 elif a > b: 56 integral = integral - y_integral 57 print('很遺憾。你輸了!積分變化為:',integral) 58 if integral == 0: 59 print('積分為:',integral,'\t退出游戲。') 60 print('**************************') 61 break 62 else: 63 print('太巧了!點數相同!積分為:',integral) 64 except ValueError: 65 print('輸入錯誤,請輸入整數!') 66 67 else: 68 while True: 69 try: 70 print('**************************') 71 a = SetPoint() # 機器搖骰子的點數 72 #print(a) 73 y_integral = int(input('請輸入需要壓的積分:\n')) 74 if y_integral < 0: 75 print('輸入有誤,請重新輸入。') 76 continue 77 if y_integral > integral: 78 print('壓的積分數不能大於現有積分。') 79 continue 80 else: 81 while True: 82 try: 83 print('**************************') 84 getpoint = int(input('請輸入猜的點數:\n')) 85 if getpoint<3 or getpoint>18: 86 print('**************************') 87 print('輸入的範圍有誤,請輸入3-18之間的點數。') 88 continue 89 else: 90 if getpoint == a: 91 integral = integral + y_integral*9 92 print('**************************') 93 print('恭喜你!猜對啦!你的積分變化為:',integral) 94 break 95 else: 96 integral = integral - y_integral 97 print('**************************') 98 print('很遺憾!猜錯啦!積分變化為:',integral) 99 break 100 101 except ValueError: 102 print('輸入錯誤,請重新輸入。') 103 if integral == 0: 104 break 105 except ValueError: 106 print('輸入錯誤,請輸入整數!') 107 108 input('輸入回車鍵結束...')
3、猜密碼
1 import random 2 def Set_password(): 3 range = [0,1,2,3,4,5,6,7,8,9] 4 sj_password = random.sample(range,4) 5 return sj_password 6 7 def Input_password(): 8 while True: 9 password = input('請輸入包含0-9的四位數字密碼:') 10 if len(password) != 4: 11 print('輸入的密碼長度不符,重新輸入!') 12 else: 13 try: 14 #這個是為了測試password是否為全部數字,如果其中有非數字會提示異常,變數Test以後不會使用 15 Test = int(password) 16 except ValueError: 17 print('輸入的密碼類型錯誤,重新輸入!') 18 else: 19 input_password = [] 20 for i in str(password): 21 input_password.append(int(i)) 22 return input_password 23 24 list1 = Set_password() 25 #print(list1) 26 print('猜對的密碼提示為"A",猜錯的密碼提示為"B"') 27 list2 = Input_password() 28 b = ['A','A','A','A'] 29 a = [] 30 n = 0 31 c = 10 32 while True: 33 if n == 4: 34 if a == b: 35 print(a) 36 print('恭喜!猜對了!') 37 break 38 else: 39 print(a) 40 print('猜錯了,繼續加油。') 41 list2 = Input_password() 42 n=0 43 a = [] 44 continue 45 else: 46 if int(list2[n]) == int(list1[n]): 47 a.append('A') 48 else: 49 a.append('B') 50 n+=1 51 input('按回車鍵退出...')
4、查詢天氣
首先創建city.py
1 # -*- coding: utf-8 -*- 2 3 city = { 4 '北京': '101010100', 5 '海澱': '101010200', 6 '朝陽': '101010300', 7 '順義': '101010400', 8 '懷柔': '101010500', 9 '通州': '101010600', 10 '昌平': '101010700', 11 '延慶': '101010800', 12 '丰台': '101010900', 13 '石景山': '101011000', 14 '大興': '101011100', 15 '房山': '101011200', 16 '密雲': '101011300', 17 '門頭溝': '101011400', 18 '平谷': '101011500', 19 '八達嶺': '101011600', 20 '佛爺頂': '101011700', 21 '湯河口': '101011800', 22 '密雲上甸子': '101011900', 23 '齋堂': '101012000', 24 '霞雲嶺': '101012100', 25 '上海': '101020100', 26 '閔行': '101020200', 27 '寶山': '101020300', 28 '嘉定': '101020500', 29 '南匯': '101020600', 30 '金山': '101020700', 31 '青浦': '101020800', 32 '松江': '101020900', 33 '奉賢': '101021000', 34 '崇明': '101021100', 35 '徐家匯': '101021200', 36 '浦東': '101021300', 37 '天津': '101030100', 38 '武清': '101030200', 39 '寶坻': '101030300', 40 '東麗': '101030400', 41 '西青': '101030500', 42 '北辰': '101030600', 43 '寧河': '101030700', 44 '漢沽': '101030800', 45 '靜海': '101030900', 46 '津南': '101031000', 47 '塘沽': '101031100', 48 '大港': '101031200', 49 '薊縣': '101031400', 50 '重慶': '101040100', 51 '永川': '101040200', 52 '合川': '101040300', 53 '南川': '101040400', 54 '江津': '101040500', 55 '萬盛': '101040600', 56 '渝北': '101040700', 57 '北碚': '101040800', 58 '巴南': '101040900', 59 '長壽': '101041000', 60 '黔江': '101041100', 61 '萬州龍寶': '101041300', 62 '涪陵': '101041400', 63 '開縣': '101041500', 64 '城口': '101041600', 65 '雲陽': '101041700', 66 '巫溪': '101041800', 67 '奉節': '101041900', 68 '巫山': '101042000', 69 '潼南': '101042100', 70 '墊江': '101042200', 71 '梁平': '101042300', 72 '忠縣': '101042400', 73 '石柱': '101042500', 74 '大足': '101042600', 75 '榮昌': '101042700', 76 '銅梁': '101042800', 77 '璧山': '101042900', 78 '豐都': '101043000', 79 '武隆': '101043100', 80 '彭水': '101043200', 81 '綦江': '101043300', 82 '酉陽': '101043400', 83 '秀山': '101043600', 84 '沙坪壩': '101043700', 85 '哈爾濱': '101050101', 86 '雙城': '101050102', 87 '呼蘭': '101050103', 88 '阿城': '101050104', 89 '賓縣': '101050105', 90 '依蘭': '101050106', 91 '巴彥': '101050107', 92 '通河': '101050108', 93 '方正': '101050109', 94 '延壽': '101050110', 95 '尚志': '101050111', 96 '五常': '101050112', 97 '木蘭': '101050113', 98 '齊齊哈爾': '101050201', 99 '訥河': '101050202', 100 '龍江': '101050203', 101 '甘南': '101050204', 102 '富裕': '101050205', 103 '依安': '101050206', 104 '拜泉': '101050207', 105 '克山': '101050208', 106 '克東': '101050209', 107 '泰來': '101050210', 108 '牡丹江': '101050301', 109 '海林': '101050302', 110 '穆棱': '101050303', 111 '林口': '101050304', 112 '綏芬河'