小甲鱼Python第四讲课后测试题及答案

一、测试题

  1. 请问以下代码会打印多少次“我爱鱼C!”
while 'c':
    print('我爱鱼c!')

无数次循环

  1. 请问以下代码会打印多少次“我爱鱼C!”
i = 10
while i:
    print('我爱鱼C!')
    i = i - 1

这段代码打印十次”我爱鱼C“

  1. 请写出与 10 < cost < 50 等价的表达式
10<cost and cost<50
  1. Python3 中,一行可以书写多个语句吗?
    一行可以输入多个语句,需要用分号隔开,如print(“小甲鱼”);print(“fishC”)

  2. Python3 中,一个语句可以分成多行书写吗?
    可以。如果有括号(小括号、中括号、大括号),可以在任意地方断行。如果没有,需要在断开的地方添加 \ 字符,表示这一行尚未结束。例如:

# Python3 中,一个语句可以分成多行书写

#一行过长的语句可以使用反斜杠或者括号分解成几行
d = {
    "a": 1,
    "b": 2
}
 
long_variable = 1
another_long_variable = 2
 
a = (long_variable +
     another_long_variable)
 
a = long_variable + \
    another_long_variable
  1. 请问Python的 and 操作符 和C语言的 && 操作符 有何不同?【该题针对有C或C++基础的朋友】
    a and b ——a 和 b 都为真时返回b,
    a or b ——-a为真时返回a,否则返回 b
    Python and 会返回值,而 C 中&& 只会返回 True or False
  2. 听说过“短路逻辑(short-circuit logic)”吗?
    逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。<这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上那题)。

二、动动手

  1. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
print('---------------------小游戏1.1改进版--------------------')
#加入random模块
import random 
#定义1到10的随机数  
secret = random.randint(1,10)
temp= input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess= int(temp)
times = 3
while (guess != secret) and (times > 0):
    temp= input("猜错了,请重新再猜一次吧:")
    guess= int(temp)
    times = times - 1
    if guess == secret:
        print("我草,你是小甲鱼心里的蛔虫嘛?!")
        print("哼,猜中了也没有奖励")
    else:
        if guess > secret:
            print("嘿,大了大了~~")
        else:
            print("嘿,小了!小了!!")
        if times > 0:
            print("再试一次吧:, 请输入数字:")
        else:
            print("机会用光咯T_T")
print("游戏结束,不玩了^_^")

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

1)需要这样输出:

请输入一个整数:5
1
2
3
4
5

答案1:

#这是用了while循环,比较笨的方法
temp = int(input("请输入一个整数:"))
number =int(temp)
i = 1
while number>0:
    print(i)
    i+=1
    number-=1

答案2:

#这是用到了for循环 超级简单吧~~
temp = int(input('请输入一个整数:'))
for i in range(temp):
   print(i + 1)
   

2)需要打印这样的图案:

请输入一个整数:5
    *****
   ****
  ***
 **
*

答案我有两种思路:

#这种方法真的超级简单
print('----动动手第一题第2小题----')
top = int(input('请输入一个整数:'))
while top:
    print(' '*top + '*'*top);
    top -= 1;
#这种方法真的超级复杂,差点蒙圈~~~~
print('----动动手第一题第2小题----')
temp = input("请输入一个整数:")
number =int(temp)
loop = number
num_space = number - 1 
space=' '
temp = 0
while temp<loop:
    print(space*num_space + '*'*number)
    num_space -= 1
    number-=1
    temp += 1

课堂重点:

      while 用于循环,python的while用法是 while <条件语句>:(特别注意在条件语句结束后打上英文冒号!) 条件语句一般用比较运算符或者逻辑运算符。如果只是一个字符或者一个数字(只要数字不为0),那么while也会执行(无限循环下去,除非按ctrl+C强制结束)
      a<b<c的比较格式在python里面能够直接按这个格式实现,很方便
一行写多语句时可用分号隔开,一行长语句分多行写可用反斜杠或者括号进行提行。注意这些符号均要用英文输入法。
双目逻辑操作符会出现逻辑短路的情况
      一些特殊的符号,比如:空格啦,星号啦。可以通过定义变量来储存它们,然后用之前课堂学过的知识,比如字符串复制来完成多个空格或星号的打印
      在编写一些有限次数的循环体时,肯定会用到while,还可能会用到if elif 等分支语句,注意留出一到两个中间变量,用来完成数据的中间转换
      用input(‘xxxxx’)后,从键盘输入数字的是字符串变量,需要把它转换成整型或浮点型,比如可用一个中间变量实现暂存输入,再将中间变量存放的字符串变量转换输出成整型变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值