python實現模擬數字的魔術遊戲

2022-09-22 00:33:09 字數 1399 閱讀 4204

在遊戲中,魔術師要每位觀眾心裡想乙個三位數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 每一天可能會新收藏乙個正整數,當然,也可能因為某些原因丟棄乙個正整數。這使 得他收藏的正整數在不斷變化,每天睡前計算出來...