Python 2.7
Untuk menjawab pertanyaan, orang harus tahu pertanyaan - dan pertanyaannya adalah:
Apa yang Anda dapatkan ketika Anda mengalikan enam dengan sembilan? Terima kasih kepada TRiG untuk koreksi ini
Jadi Deep Thought mengandalkan penggunaan praktis dari basis 13 :
6 13 x 9 13 = 42 13
Kami mengimpor konstanta kami:
from random import randrange as scrabbleBag, randint
from datetime import datetime,timedelta
life,universe,everything,nothing=6,9,1,-3
endOfTheUniverse = 80
Kita juga mendefinisikan benda-benda bumi kita, menjadi sekeranjang ubin yang dapat dihancurkan , Arthur (yang dapat diprediksi walaupun agak aneh, komputer macam-macam), Trillian (pahlawan rasional kita),
tile = lambda i: scrabbleBag(26)
arthur = lambda i: int(`i`,life+universe+everything+nothing)
trillian = lambda i: ''.join(map(str,divmod(i,life+universe+everything+nothing)))
Kami memperkenalkan Zaphod - jenis acak, yang akhirnya kehabisan tenaga saat kami dekat endOfTheUniverse
.
zaphod = lambda : not(randint(0,(endOfTheUniverse-(datetime.now() - start).seconds)**3))
Dan Marvin the Paranoid Android , yang sikap positifnya dapat menghentikan pihak mana pun:
marvin = lambda : endOfTheUniverse<(datetime.now() - start).seconds
Dan kami terus berjalan 4 karakter tersebut melalui campuran sampai mereka menghitung itu :
while answer is not life * universe * everything:
rack = sum(tile(i) for i in range(7))
answer = (zaphod or marvin) and arthur(rack)
print trillian(answer)
Lengkap deepthought.py
:
from random import randrange as scrabbleBag, randint
from datetime import datetime,timedelta
life,universe,everything,nothing=6,9,1,-3
endOfTheUniverse = 80
tile = lambda i: scrabbleBag(26)
arthur = lambda i: int(`i`,life+universe+everything+nothing)
trillian = lambda i: ''.join(map(str,divmod(i,life+universe+everything+nothing)))
start = datetime.now()
zaphod = lambda: not(randint(0,(endOfTheUniverse-(datetime.now() - start).seconds)**3))
marvin = lambda: endOfTheUniverse<(datetime.now() - start).seconds
answer = None
while answer is not life * universe * everything:
rack = sum(tile(i) for i in range(7))
answer = (zaphod() or marvin()) and arthur(rack)
print trillian(answer)
Ini harus selesai di suatu tempat di sekitar tanda 75 detik, pasti selesai dengan 80 detik. Terkadang lebih awal ke Zaphods Infinite Improbability Drive .
sleep(75);print("%d\n",41+1);