python實現模擬數字的魔術游戲
游戲介紹
在游戲中,魔術師要每位觀眾心里想一個三位數abc (a、b、c分別是百位、十位和個位數字),然后魔術師讓觀眾心中記下acb、bac、bca、cab、cba五個數以及這5個數的和值。只要觀眾說出這個和是多少,則魔術師一定能猜出觀眾心里想的原數abc是多少。例如,觀眾甲說他計算的和值是1999,則魔術師立即說出他想的數是443,而觀眾乙說他計算的和值是1998,則魔術師說:“你算錯了!”。
【輸入】
輸入一個正整數。
【輸出】
輸出對應的三位數。如果對應的三位數不存在,則輸出:“Thesum you calculated is wrong!”。
【輸入示例】
1998
【輸出示例】
The sum you calculated is wrong!
解題思路
簡單粗暴的進行循環(huán)賦值比較
涉及的知識點
- python基礎語法
- 字符串類型和數字類型的相互轉換
- range()內置函數的使用
- for循環(huán)的嵌套使用
- if-else結構語句的使用
主要代碼
def magic_numbers(): ''' 魔術數字,根據數據總和推算原始數據 核心思想:依次將0-9賦值給abc,進行循環(huán)比較后得出結果 ''' # 用戶算出的數字總和,需要轉換數據類型 user_input = int(input('請輸入數字的總和:\n')) # 默認用戶失敗時的輸出結果 result = 'The sum you calculated is wrong!' #3層嵌套for循環(huán)依次對abc進行賦值 for a in range(10): for b in range(10): for c in range(10): # 將數字裝換為字符串進行排列組合和拼接 a = str(a) b = str(b) c = str(c) # 要將拼接好的字符串組合重新轉換為數字類型 即int acb = int(a+c+b) bac = int(b+a+c) bca = int(b+c+a) cab = int(c+a+b) cba = int(c+b+a) # 計算出每種排列組合后的數字的總和 sum = acb + bac + bca + cab + cba # 用排列組合的總和與用戶給出的總和進行比較,相等則正確,并排列出abc的值,輸出 if sum == user_input: abc = int(a+b+c) # 將默認的失敗值置空,備后面判斷使用 result = '' print('The original number is : ',abc) # 循環(huán)完成后判斷默認的失敗值是否改變,如果沒有改變則直接輸出,表示用戶計算錯誤 if result != '': print(result)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python之lambda匿名函數及map和filter的用法
今天小編就為大家分享一篇關于Python之lambda匿名函數及map和filter的用法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Python matplotlib通過plt.scatter畫空心圓標記出特定的點方法
今天小編就為大家分享一篇Python matplotlib通過plt.scatter畫空心圓標記出特定的點方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12python中?OpenCV和Pillow處理圖像操作及時間對比
這篇文章主要介紹了python中OpenCV和Pillow處理圖像操作及時間對比,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09