python完成FizzBuzzWhizz問題(拉勾網(wǎng)面試題)示例
拉勾網(wǎng)面試題
1. 你首先說出三個(gè)不同的特殊數(shù),要求必須是個(gè)位數(shù),比如3、5、7。
2. 讓所有學(xué)生拍成一隊(duì),然后按順序報(bào)數(shù)。
3. 學(xué)生報(bào)數(shù)時(shí),如果所報(bào)數(shù)字是第一個(gè)特殊數(shù)(3)的倍數(shù),那么不能說該數(shù)字,而要說Fizz;如果所報(bào)數(shù)字是第二個(gè)特殊數(shù)(5)的倍數(shù),那么要說Buzz;如果所報(bào)數(shù)字是第三個(gè)特殊數(shù)(7)的倍數(shù),那么要說Whizz。
4. 學(xué)生報(bào)數(shù)時(shí),如果所報(bào)數(shù)字同時(shí)是兩個(gè)特殊數(shù)的倍數(shù)情況下,也要特殊處理,比如第一個(gè)特殊數(shù)和第二個(gè)特殊數(shù)的倍數(shù),那么不能說該數(shù)字,而是要說FizzBuzz, 以此類推。如果同時(shí)是三個(gè)特殊數(shù)的倍數(shù),那么要說FizzBuzzWhizz。
5. 學(xué)生報(bào)數(shù)時(shí),如果所報(bào)數(shù)字包含了第一個(gè)特殊數(shù),那么也不能說該數(shù)字,而是要說相應(yīng)的單詞,比如本例中第一個(gè)特殊數(shù)是3,那么要報(bào)13的同學(xué)應(yīng)該說Fizz。如果數(shù)字中包含了第一個(gè)特殊數(shù),那么忽略規(guī)則3和規(guī)則4,比如要報(bào)35的同學(xué)只報(bào)Fizz,不報(bào)BuzzWhizz。
現(xiàn)在,我們需要你完成一個(gè)程序來模擬這個(gè)游戲,它首先接受3個(gè)特殊數(shù),然后輸出100名學(xué)生應(yīng)該報(bào)數(shù)的數(shù)或單詞。
def check(a, dic, d):
answer = ''
if str(a) in str(d):
return dic[a]
for x in dic:
if not (d % x):
answer = answer + dic[x]
if not answer:
return d
return answer
if __name__ == '__main__':
a = int(raw_input('input u a: '))
b = int(raw_input('input u b: '))
c = int(raw_input('input u c: '))
dic = {a: 'Fizz', b: 'Buzz', c: 'Whizz'}
for x in xrange(1, 101):
print check(a, dic, x)
['Fizz'[(str(3)not in str(i))*4:]or 'Fizz'[i % 3 * 5 : ] + 'Buzz'[i % 5 * 5 : ] + 'Whizz'[i % 7 * 5 : ] or i for i in range(1,101)]
相關(guān)文章
tensorflow學(xué)習(xí)筆記之mnist的卷積神經(jīng)網(wǎng)絡(luò)實(shí)例
這篇文章主要為大家詳細(xì)介紹了tensorflow學(xué)習(xí)筆記之mnist的卷積神經(jīng)網(wǎng)絡(luò)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04Python中Django與Echarts的結(jié)合用法圖文詳解
ECharts是一個(gè)第三方控件,下面這篇文章主要給大家介紹了關(guān)于Python中Django與Echarts的結(jié)合用法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10Python 使用 attrs 和 cattrs 實(shí)現(xiàn)面向?qū)ο缶幊痰膶?shí)踐
這篇文章主要介紹了Python 使用 attrs 和 cattrs 實(shí)現(xiàn)面向?qū)ο缶幊痰膶?shí)踐,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06使用pandas把某一列的字符值轉(zhuǎn)換為數(shù)字的實(shí)例
今天小編就為大家分享一篇使用pandas把某一列的字符值轉(zhuǎn)換為數(shù)字的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python數(shù)據(jù)結(jié)構(gòu)之遞歸方法詳解
這篇文章主要為大家介紹了遞歸的基本概念以及如何構(gòu)建遞歸程序。通過本章的學(xué)習(xí),大家可以理解遞歸的基本概念,了解遞歸背后蘊(yùn)含的編程思想以及掌握構(gòu)建遞歸程序的方法,需要的可以參考一下2022-04-04