蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

開始我們的挑戰之旅吧~

首先點擊頁面中間的這一行,就會正式進入遊戲啦~

(上面“The first programming riddle on the net (網絡上最早的編程解謎遊戲)”有點矚目)

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

點擊後進入這個頁面:

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

“提示:嘗試替換URL地址。”

話說圖片中的顯示屏夠老派的...請問大家有多少年沒有見到這種稱做“CRT”的顯示器了?(貌似還不是純平的)

CRT,Cathode Ray Tube,即冷陰極射線管。

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

當年高中物理課本講解磁場的應用時,用的案例就是CRT。

其內部有一個電子發射槍,通過電場對電子加速,又通過磁場對電子進行偏轉,使電子可以受控地撞擊到屏幕(玻璃)的幾乎任何位置。而屏幕上預先塗滿了熒光粉,電子撞擊熒光粉,促使其發光;通過不斷地掃描式撞擊,我們就能看到逐行掃描後的光,即圖像。

收~~✊

回到解題上,圖片中最顯著的信息便是CRT上的貼紙,紙上寫著“2 38”,其中“38”還比較靠上。所以可以解讀為“238”,但也有可能是“2^38”,因為“38”稍微靠上。

根據提示,我們需要修改URL地址,此時的URL為:

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

所有很可能是把這裡的“0”替換為其他數字,如“238”,也可能是“2^38”。

如果填入“238”,即:

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

你會看到頁面就一句話:

No... the 38 is a little bit above the 2...

貌似不對。

不對歸不對。然而是不是...有那麼一種感覺,作者似乎已經把我們猜透了,把我們可能的錯誤都考慮了一遍。2005年的作者能把2020年的我看透到何種程度呢,故事開始好玩起來~

另一種可能,便是把“2^38”的計算結果代入URL結果中。可以通過計算器計算,或者用Python完成。

這裡我用Python自帶的IDLE工具來演示(IDLE是用Python的Tkinter庫寫的編輯器):

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

計算得到“274877906944”,填入URL:

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

會自動跳轉到新的頁面,沒錯,你進入了第1️⃣關。

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行

???根據圖標左上角的標號,原來剛剛是第“0”關,只是作者給我們試試水的。


第 0 關中,我們求解2^38,用到“**”這個符號。

**

,是Python的算術運算符之一,可以用來做乘方或開方運算。

例如:x**y,表示獲取x的y次冪(y可以為小數或負數,小數則為開方運算)。

你可以 2**3,表示 2*2*2;也可以 2**0.5,表示2的平方根。


另一種方式是用Python標準庫之一的math庫,math.pow()方法專門用於求解冪運算。

首先import math,

然後如 math.pow(x, y) 般調用,返回x的y次冪,同樣y的取值可正可負,可以為浮點數、分數(其實還是浮點數)、整數 。

舉些栗子:

蟒蛇挑戰 Python Challenge(0):乘方運算,看起來還行



講真,這關開始有點難度了,起碼謎面不是那麼直白了,問題不大,我們下次再戰。


分享到:


相關文章: