iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0
自我挑戰組

《雜學》 ︳MISCELLANEOUS LEARNING系列 第 27

〈踐例.剪刀石頭布〉︳ROCK PAPER SCISSORS

  • 分享至 

  • xImage
  •  

          夫剪刀石頭布,猜拳對峙也。其規則乃易,夫初,雙人互峙,且道「剪刀石頭布」,而後二者出拳,其拳固剪刀、石頭、布也。剪刀者,二指伸直也,二指乃食指拇指也。石頭者,握拳也。布者,開掌也。二者互比乃得勝負。夫勝負,剪刀克布,布克石頭,石頭克剪刀,克者勝,被克者負,夫二方相同者,無勝負也。

          依規則乃得拳者,蓋剪刀、石頭、布也,以列表之。爾之拳,蓋役者之拳者也,役者自寫之。機器之拳,蓋機器之拳者也,機器於其列擇之,其亦不定,蓋隨意擇拳於列也,故以渾沌經之隨意取物也。隨意取物者,random.choice()也,渾沌經之一法,蓋隨意取物於列也。欲取之列於括弧也。

          夫爾之拳,役者自寫若非符合拳者,則無以比之。故若非符合拳者,則再寫之,若亦弗符合,則云云也。二者之拳皆定即可比之,比法以決策也,先取役者得勝,蓋爾之拳剪刀機器之拳,或爾之拳機器之拳石頭,或爾之拳石頭機器之拳剪刀,其中有一者符合,則役者得勝也。後取無勝負者,蓋二者相同也。若非役者得勝或無勝負,則機器得勝也。故程式書如是:

import random
拳者 = ['剪刀', '石頭', '布']
爾之拳 = input("卿欲出之拳何如?")
機器之拳 = random.choice(拳者)
while 爾之拳 not in 拳者:
    print('非也。')
    input('卿本欲出之拳何如耶?')
print(f'卿之拳乃「{爾之拳}」也,機器之拳乃「{機器之拳}」也。')
if ((爾之拳 == '剪刀' and 機器之拳 =='布')or(爾之拳 == '布' and 機器之拳 =='石頭')or(爾之拳 == '石頭' and 機器之拳 =='剪刀')):
    print('卿與機器互峙乃卿所勝也。')
elif(爾之拳 == 機器之拳):
    print('卿與機器互峙乃無勝負也。')
else:
    print('卿與機器互峙乃卿所負也。')

          試之時時結果不同也。

卿欲出之拳何如?剪刀
卿之拳乃「剪刀」也,機器之拳乃「布」也。
卿與機器互峙乃卿所勝也。

         


上一篇
〈踐例.序言〉︳BEFORE PRACTICING PYTHON
下一篇
〈踐例.中秋博餅〉︳BO BING
系列文
《雜學》 ︳MISCELLANEOUS LEARNING30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言