python--小游戲(循環+隨機)


 1 import time
 2 import random 3 4 player_victory = 0 5 enemy_victory = 0 6 a1 = True 7 while a1: 8 for i in range(1,4): 9 time.sleep(1.5) 10 print(' \n——————現在是第 %s 局——————' % i) 11 #對比之前:(' \n——————現在是第'+str(i)+'局——————') 12 player_life = random.randint(100,150) 13 player_attack = random.randint(30,50) 14 enemy_life = random.randint(100,150) 15 enemy_attack = random.randint(30,50) 16 17 print('【玩家】\n血量:%s\n攻擊:%s' % (player_life,player_attack)) 18 print('------------------------') 19 time.sleep(1) 20 print('【敵人】\n血量:%s\n攻擊:%s' % (enemy_life,enemy_attack)) 21 print('-----------------------') 22 time.sleep(1) 23 while player_life > 0 and enemy_life > 0: 24 player_life = player_life - enemy_attack 25 enemy_life = enemy_life - player_attack 26 print('你發起了攻擊,【敵人】剩余血量%s' % enemy_life) 27 print('敵人向你發起了攻擊,【玩家】的血量剩余%s' % player_life) 28 print('-----------------------') 29 time.sleep(1.2) 30 if player_life > 0 and enemy_life <= 0: 31 player_victory += 1 32 print('敵人死翹翹了,你贏了!') 33 elif player_life <= 0 and enemy_life > 0: 34 enemy_victory += 1 35 print('悲催,敵人把你干掉了!') 36 else: 37 print('哎呀,你和敵人同歸於盡了!') 38 if player_victory > enemy_victory : 39 time.sleep(1) 40 print('\n【最終結果:你贏了!】') 41 elif enemy_victory > player_victory: 42 print('\n【最終結果:你輸了!】') 43 else: 44 print('\n【最終結果:平局!】') 45 input('如不想繼續,請輸入n:') 46 request = input 47 if request == 'n': 48 break

再來一局的方案有兩種:1.通過break   2.通過判斷布爾值為true or false進行再次循環或者結束

2.format函數:

 1 # % 格式化:str % ()
 2 print('{}{}'.format('數字:',0))
 3 print('{0},{1}'.format(0,1)) 4 print('{0},{0},{1}'.format(0,1,0)) 5 6 name1 = 'Python' 7 print('I am learning {}'% name1) # 注:當只跟一個數據時,%后可不加括號,format()一定要有。 8 9 # format()格式化函數:str.format() 10 print('\n{}{}'.format('數字:',0)) # 優勢1:不用擔心用錯類型碼。 11 print('{},{}'.format(0,1)) # 不設置指定位置時,默認按順序對應。 12 print('{1},{0}'.format(0,1)) # 優勢2:當設置指定位置時,按指定的對應。 13 print('{0},{1},{0}'.format(0,1)) # 優勢3:可多次調用format后的數據。 14 15 name2 = 'Python基礎語法' 16 print('我正在學{}'.format(name2)) # format()函數也接受通過參數傳入數據。

不管是‘%’ 格式化輸出還是format()格式化輸出,其基本語法相似,但format函數更為精簡

%s 表示字符串 %d表示整數 %f表示浮點數,而format()不用注意類型

3.range()

range()函數有三種形式:1.range(a)表示,從0開始到a;2.range(a,b)表示,從a開始到b; 3.range(a,b,c)表示從a到b 中間每隔c個數 記一次數,直到b。

range()函數經常用於 for循環語句中

4.延時函數

延時函數與隨機生成數函數一致需要模板的引用。

import time   //引用模板

time.sleep(a)//a為延時的secs(間隔秒數 seconds) 

5.隨機數函數

import random //引用模板

rabdom.randint(0~9)//在0-9之間任選一個數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM