VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 第004讲:改进我们的小游戏

一  条件分支

1   python的比较操作符

     

 

 2 python的条件分支语法  

  • 语法格式:
    • if条件:
    •       条件为(True)真执行的操作
    • else:
    •       条件为假(False)执行的操作
  • 跟其他语言的区别:
    • if和else判断语句后面必须要有冒号(其它语言没有)
    • 执行体的内容不需要用花括号扩起来,所以必须严格保持缩进正确(其它语言需要用花括号把每个判断语句下要执行的内容扩起来)

二  while循环

1  python的while循环语法

  • 语法格式:
    • while条件:
    •      条件为真(True)执行的操作
  • 跟其他语言的区别:
    • 判断条件后面必须有冒号
    • 执行体的内容不需要用花括号扩起来,所以必须严格保持缩进正确

2 and 逻辑操作符

  • 定义:python的and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型的值
  • 格式:表达式1 and  表达式2
  •            表达式3 & 表达式4
  • 功能:当and两边的表达式的值都为真时,最终的结果才为真;只要有一个表达式的值为假,最终的结果就为假

三  random模块中的randint()函数

1 模块的导入:import random

2 randint()函数的功能:返回一个随机的整数

四 程序代码及运行结果

1 程序代码:

复制代码
 1 import random
 2 secret = random.randint(1,10)
 3 
 4 print("----------我爱鱼C工作室----------")
 5 print("本次游戏只有三次机会哦^_^")
 6 temp = input("不防猜一下小甲鱼现在心里想的是那个数字:")
 7 guess = int(temp)
 8 count = 1
 9 if guess != secret:
10     while (guess != secret) and (count <= 2):
11         temp = input("哎呀,猜错了,请重新输入吧:")
12         guess = int(temp)
13         if guess == secret:
14             print("我草,你是小甲鱼心里的蛔虫吗?!")
15             print("哼,猜中了也没有奖励!")
16         else:
17             if guess > secret:
18                 print("哥,大了大了~~~")
19             else:
20                 print("嘿,小了小了!!!")
21         count = count + 1
22         print(f"您一共猜了{count}次")
23 else:
24     print("我草,你是小甲鱼心里的蛔虫吗?!")
25     print("哼,猜中了也没有奖励!")
26 print("游戏结束,不玩啦^_^")
复制代码

2 运行结果

复制代码
PS E:\3_work\4_python\2_code\03_LittleTurtleStudio> python Game2.py
----------我爱鱼C工作室----------
本次游戏只有三次机会哦^_^
不防猜一下小甲鱼现在心里想的是那个数字:8
哎呀,猜错了,请重新输入吧:5
嘿,小了小了!!!
您一共猜了2次
哎呀,猜错了,请重新输入吧:9
哥,大了大了~~~
您一共猜了3次
游戏结束,不玩啦^_^
PS E:\3_work\4_python\2_code\03_LittleTurtleStudio> python Game2.py
----------我爱鱼C工作室----------
本次游戏只有三次机会哦^_^
不防猜一下小甲鱼现在心里想的是那个数字:9
我草,你是小甲鱼心里的蛔虫吗?!
哼,猜中了也没有奖励!
游戏结束,不玩啦^_^
PS E:\3_work\4_python\2_code\03_LittleTurtleStudio>
复制代码

 五 课后作业

(一) 测试题答案

0. 请问以下代码会打印多少次“我爱鱼C!”

while 'C':
    print('我爱鱼C!')

死循环,会一直打印“我爱鱼C!”(嗯,这也算是永远支持鱼C的方法之一),直到崩溃或者用户按下快捷键 CTRL + C(强制结束),造成死循环的原因是 while 后边的条件永远为真(True)

在 Python 看来,只有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):False、None 、0、 "、" ''、 ()、 [] 、{},其他一切都被解释为真!

不妨试试:

while '':
    print('进入循环')
print('退出循环')

或者

while False:
    print('进入循环')
print('退出循环')

或者

while 0:
    print('进入循环')
print('退出循环')   

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 fishc');print('very much!')


4. Python3 中,一个语句可以分成多行书写吗?
可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:

>>> 3 > 4 and \
  1 < 2

或者

>>> ( 3 > 4 and 
  1 < 2 )


5. 【该题针对有C或C++基础的朋友】请问Python的 and 操作符 和C语言的 && 操作符 有何不同?
有图有真相(C\C++ VS Python):
     
VS
   > 

6. 听说过“短路逻辑(short-circuit logic)”吗?
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。
实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上那题)。

 

(二) 动动手答案:

0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。


需要注意的地方在代码中已经注释!

复制代码
import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
    temp = input()
    guess = int(temp)
    times = times - 1 # 用户每输入一次,可用机会就-1
    if guess == secret:
        print("我草,你是小甲鱼心里的蛔虫吗?!")
        print("哼,猜中了也没有奖励!")
    else:
        if guess > secret:
            print("哥,大了大了~~~")
        else:
            print("嘿,小了,小了~~~")
        if times > 0:
            print("再试一次吧:", end=" ")
        else:
            print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")
复制代码


1. 尝试写代码实现以下截图功能: 


    

 

复制代码
temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number - 1
复制代码


2. 尝试写代码实现以下截图功能:


    

 

  

复制代码
temp = input('请输入一个整数:')
number = int(temp)

while number:
    i = number - 1
    while i:
        print(' ', end = '')
        i = i - 1
    j = number
    while j:
        print('*', end = '')
        j = j - 1
    print()
    number = number - 1
复制代码

出处:  https://www.cnblogs.com/luoxun/p/13199010.html


相关教程