本文實例為大家分享了python實現(xiàn)石頭剪刀布的具體代碼,供大家參考,具體內(nèi)容如下
老師布置了一個石頭剪刀布的作業(yè),要可視化,還是先用代碼實現(xiàn)再說可視化的事。
環(huán)境:window7,Python 3.5
代碼:
#coding=utf-8import randomexit_flag = False #設(shè)置flag用于break跳出兩層循環(huán),或者自定義異常也行,try:, except。dic = {}dic[0] = '剪刀'dic[1] = '石頭'dic[2] = '布'while True: humanStr = input("請輸入[0:剪刀 1:石頭 2:布] ") if humanStr.isdigit() and (int(humanStr) in [0,1,2]): #如果輸入的是數(shù)字,并且在0,1,2中 human = int(humanStr) windows = random.randint(0, 2) print ("你出的是%s,電腦出的是%s" % (dic[human],dic[windows])) if (human == 0 and windows == 2) or (human == 1 and windows == 0) or (human == 2 and windows == 1): print("祝賀你,你贏了!") oncemore = input("你想再來一局嗎? y(Y) or n(N) ") elif human == windows: print("平局") oncemore = input("你想再來一局嗎? y(Y) or n(N) ") else: print("不好意思,你輸了") oncemore = input("你想再來一局嗎? y(Y) or n(N) ") while True: if oncemore == 'y' or oncemore == 'Y': break elif oncemore == 'n' or oncemore == 'N': exit_flag = True break #跳出內(nèi)層循環(huán),并且設(shè)置flag else: oncemore = input("你想再來一局嗎? y(Y) or n(N) ") if exit_flag == True: break #跳出層循環(huán),結(jié)束程序 else: print ("請重新輸入!") pass
PS:這里想要記錄一下python2中input和raw_input的區(qū)別,以及python3中的input
對于python2:
input和raw_input都能接受字符串, raw_input()將所有輸入作為字符串看待,返回字符串類型,而input()在對待輸入純數(shù)字時,返回數(shù)字類型(int,float),對待字符串的話,輸入的字符串必須使用引號引起來,表明是個字符串,返回類型為字符串

對于python3:
將raw_input()和input()進行了整合,去除了raw_input(),僅保留了input()函數(shù),其接受任意性輸入,將所有的輸入都默認為字符串類型處理,并返回字符串類型。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答