国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

004,改進我們的小游戲

2019-11-14 17:50:05
字體:
來源:轉載
供稿:網友

004,改進我們的小游戲
 python的比較操作符:
>        左邊大于右邊  
>>> 1 < 3
True
>>> 1 > 3
False
>=    左邊大于等于右邊
<        左邊小于右邊
<=    左邊小于等于右邊
==    左邊等于右邊
!=     左邊不等于右邊

條件分支語法:
if條件:
    條件為真(true)執行的操作
else:
    條件為假(false)執行的操作
ps:跟其他語言不同的是,if后面一定要有":"號,條件判斷語句一定要“縮進”!(true,false屬于布爾類型的值!)

課中練習:
 1、
temp = input ('猜猜我心里想的是什么數字?')
guess = int (temp)
if guess == 8:
    print('wtf,你是我心里的蛔蟲嗎?')
else:
    if guess > 8:   #注意:縮進
        print('大了大了!!')
    else:
        print('小了小了!!')
print('游戲結束,又被坑了吧!!')
 
運行結果:
 
>>> 
猜字謎
猜猜我心里想的是什么數字?8
wtf,你是我心里的蛔蟲嗎?
游戲結束,又被坑了吧!!
>>> ================================ RESTART ================================
>>> 
猜字謎
猜猜我心里想的是什么數字?9
大了大了!!
游戲結束,又被坑了吧!!
>>> ================================ RESTART ================================
>>> 
猜字謎
猜猜我心里想的是什么數字?6
小了小了!!
游戲結束,又被坑了吧!!
>>> ================================ RESTART ================================
 
思考:做這個練習的時候沒注意第二條件“if guess > 8”,是屬于else:范圍里面,必須縮進,不然會導致錯誤語法報錯。琢磨了一下加入縮進,問題解決。
 
2、重復運行。
while循環
while條件:
    條件為真(true)執行的操作
 
print('猜字謎')
temp = input ('猜猜我心里想的是什么數字?')#guess變量賦值,需放在while前面。
guess = int (temp)
while guess != 8:
#注意縮進!!
    temp = input ('錯了錯了錯了!!')
    guess = int (temp)
    if guess == 8:
        print('wtf,你是我心里的蛔蟲嗎?')
    else:
        if guess > 8:
            print('大了大了!!')
        else:
            print('小了小了!!')
print('游戲結束,又被坑了吧!!')
 運行結果:
 
>>> 
猜字謎
猜猜我心里想的是什么數字?5
錯了錯了錯了!!4
小了小了!!
錯了錯了錯了!!6
小了小了!!
錯了錯了錯了!!9
大了大了!!
錯了錯了錯了!!7
小了小了!!
錯了錯了錯了!!8
wtf,你是我心里的蛔蟲嗎?
游戲結束,又被坑了吧!!
>>> 
 
 3、random模塊
randint(),會返回一個隨機的整數。
利用這個函數來改造我們的游戲
 
import random #必須在程序的最前面,導入random模塊
secret = random.randint (1,10)#加多一個secret變量,生成一個1-10的隨機整數
print('猜字謎')
temp = input ('猜猜我心里想的是什么數字?')#guess變量賦值,需放在while前面。
guess = int (temp)
while guess != secret: #把之前的8改成secret
#注意縮進!!
    temp = input ('錯了錯了錯了!!')
    guess = int (temp)
    if guess == secret: #把之前的8改成secret
        print('wtf,你是我心里的蛔蟲嗎?')
    else:
        if guess > secret: #把之前的8改成secret
            print('大了大了!!')
        else:
            print('小了小了!!')
print('游戲結束,又被坑了吧!!')
 運行結果:
 >>> 
猜字謎
猜猜我心里想的是什么數字?5
錯了錯了錯了!!6
大了大了!!
錯了錯了錯了!!5
大了大了!!
錯了錯了錯了!!4
大了大了!!
錯了錯了錯了!!3
大了大了!!
錯了錯了錯了!!2
大了大了!!
錯了錯了錯了!!1
wtf,你是我心里的蛔蟲嗎?
游戲結束,又被坑了吧!!
>>> 
 ps:程序缺陷:第一次的數字沒有提示大了或者小了。
 
課后練習: 
測試題:

0. 請問以下代碼會打印多少次“我愛C”  
while 'C':
    print('我愛C')
 答:無數次循環
1. 請問以下代碼會打印多少次“我愛魚C!” 
i = 10
while i:
    print ('我愛魚C!')
    i = i - 1
 答:10次
2. 請寫出與 10 < cost < 50 等價的表達式
(10 < cost) and (cost < 50)
3. Python3 中,一行可以書寫多個語句嗎?
答:可以,用分號隔開,如:>>> print('I love you');print('very much!') 
4. Python3 中,一個語句可以分成多行書寫嗎?
答:可以,用反斜杠/,或者括號分解成幾行。如:
 >>> 3>4 and /
    1<2
False
>>> (4>3 and
 5>4)
True
>>>  
 6. 聽說過“短路邏輯(short-circuit logic)”嗎?
 答:邏輯操作符有個有趣的特性:在不需要求值的時候不進行操作。這么說可能比較“高深”,舉個例子,表達式 x and y,需要 x 和 y 兩個變量同時為真(True)的時候,結果才為真。因此,如果當 x 變量得知是假(False)的時候,表達式就會立刻返回 False,而不用去管 y 變量的值。這種行為被稱為短路邏輯(short-circuit logic)或者惰性求值(lazy evaluation),這種行為同樣也應用與 or 操作符。

操作:
0. 完善第二個改進要求(為用戶提供三次機會嘗試,機會用完或者用戶猜中答案均退出循環)并改進視頻中的代碼。 
 
import random
times = 3
secret = random.randint (1,10)#隨機函數
print('猜字謎')
#先給出guess賦值(賦一個絕對不等于secret的值)
guess = 0
#print()默認是打印完字符串會自動添加一個換行符,end=" "參數告訴print()用空格代替換行
print ('猜猜我心里想的是什么數字?', end = ' ')#注意逗號用英文標點
while (guess != secret) and (times > 0):
    temp = input ()
    guess = int (temp)
    times = times - 1#每輸入一次,可用機會就-1
    if guess == secret:
        print('wtf,你是我心里的蛔蟲嗎?')
    else:
        if guess > secret:
            print('大了大了!!')
        else:
            print('小了小了!!')
        if times > 0:
            print ('再試一次吧:', end = ' ')
        else:
            print('機會用完了,退下吧。')
print('游戲結束,又被坑了吧!!')
 運行結果: 
 >>> 
猜字謎
猜猜我心里想的是什么數字? 5
小了小了!!
再試一次吧: 6
小了小了!!
再試一次吧: 9
小了小了!!
機會用完了,退下吧。
游戲結束,又被坑了吧!!
>>> 
 
2,
 
temp = input ('請輸入一個整數:')
num = int (temp)
i = 1
while num:
    print(i)
    i = i + 1
    num = num - 1
 運行效果:(未理解其中用法) 
>>> 
請輸入一個整數:10
1
2
3
4
5
6
7
8
9
10
>>> 
 
 3,
 
temp = input ('請輸入一個整數:')
num = int (temp)
while num:#循環輸入的數字次數,如輸入8則執行8次
    i = num - 1#變量i賦值
    while i:#循環i次
        print('  ',end = ' ')#打印結果中的*號前面的空格。
        i = i - 1
    j = num
    while j:
        print('*',end = ' ')#打印結果中的*號
        j = j - 1
    print()#打印完自動添加換行符
    num = num - 1
 運行效果 
>>> 
請輸入一個整數:8
                     * * * * * * * * 
                  * * * * * * * 
               * * * * * * 
            * * * * * 
         * * * * 
      * * * 
   * * 

>>> 
 做下改動, 
temp = input ('請輸入一個整數:')
num = int (temp)
while num:#循環輸入的數字次數,如輸入8則執行8次
    i = num - 1#變量i賦值
    while i:#循環i次
        print('  ',end = ' ')#打印結果中的*號前面的空格。
        i = i - 1
    j = num
    while j:
        print('*',end = ' ')#打印結果中的*號
        j = j - 1
    k = num
    while k:
        print('$',end = ' ')
        k = k - 1
    print()#打印完自動添加換行符
    num = num - 1
 加多一個變量k,然后做循環,看看效果如下: 
>>> 
請輸入一個整數:8
                     * * * * * * * * $ $ $ $ $ $ $ $ 
                  * * * * * * * $ $ $ $ $ $ $ 
               * * * * * * $ $ $ $ $ $ 
            * * * * * $ $ $ $ $ 
         * * * * $ $ $ $ 
      * * * $ $ $ 
   * * $ $ 
* $ 
>>>
 
 課時小結:
 1、while循環語句及其應用(需加深理解)
2、 了解輸入隨機數:import random 和 random.randint ()的含義
3、and的使用

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和平县| 嫩江县| 策勒县| 黔西县| 牙克石市| 友谊县| 门头沟区| 酉阳| 绥宁县| 木兰县| 新乐市| 县级市| 洪湖市| 什邡市| 民乐县| 墨脱县| 璧山县| 南陵县| 邢台市| 自治县| 宣化县| 新绛县| 美姑县| 喀喇沁旗| 榆林市| 大竹县| 花莲市| 南京市| 光山县| 万源市| 万载县| 丹江口市| 广宁县| 临武县| 巨野县| 栾城县| 通河县| 淅川县| 日土县| 阿坝| 博乐市|