在遊戲中,魔術師要每位觀眾心裡想乙個三位數abc (a、b、c分別是百位、十位和個位數字),然後魔術師讓觀眾心中記下acb、bac、bca、cab、cba五個數以及這5個數的和值。只要觀眾說出這個和是多少,則魔術師一定能猜出觀眾心裡想的原數abc是多少。例如,觀眾甲說他計算的和值是1999,則魔術師立即說出他想的數是443,而觀眾乙說他計算的和值是1998,則魔術師說:「你算錯了!」。
輸入乙個正整數。
輸出對應的三位數。如果對應的三位數不存在,則輸出:「thesujkirasegm you calculated is wrong!」。
the sum you calculated is wrong!
簡單粗暴的進行迴圈賦值比較
def magic_numbers():
'''魔術數字,根據資料總和推算原始資料
核心思想:依次將0-9賦值給abc,進行迴圈比較後得出結果
'''# 使用者算出的數字總和,需要轉換資料型別
user_input = int(input('請輸入數字的總和:\n'))
# 預設使用者失敗時的輸出結果
result = 'the sum you calculated is wrong!'
#3層巢狀for迴圈依次對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)
jkiraseg # 將預設的失敗值置空,備後面判斷使用
result = ''
print('the original number is : ',abc)
# 迴圈完成後判斷預設的失敗值是否改變,如果沒有改變則直接輸出,表示使用者計算錯誤
if result != '':
print(result)
本文標題: python實現模擬數字的魔術遊戲
本文位址: /jiaoben/python/443664.html
ZJOI模擬 數字 數字dp
題目描述 已知t lx,rx,l y,ry t l x,rx ly,ry 問在滿足lx x r x,ly y r y,xo ry t l x x rx ly y ry xor y t的情況下,w xand y w x andy 有多少種取值。解題思路 數字 dp 會變得比較方便。考慮乙個數 w,我們...
棧模擬數字進製轉換
資料結構分析與學習專欄 作 者 高祥 完成日期 2015 年 4 月 4 日 版 本 號 009 任務描述 棧模擬正整數的進製轉換 演算法思想 十進位制數字num轉換成system進製數字,每次將num system結果入棧,然後將num更新為num system,直至num 0。順序輸出棧中的數字...
JZOJ 省選模擬 數字收藏(數字收藏)
description 小 h 是乙個收藏家,他喜歡收藏正整數。小 h 有乙個習慣,那就是在他睡覺之前,計算在 他收藏的所有正整數中,有多少對正整數的最大公因數恰好是 k。小 h 每一天可能會新收藏乙個正整數,當然,也可能因為某些原因丟棄乙個正整數。這使 得他收藏的正整數在不斷變化,每天睡前計算出來...