改进我们的小游戏
测试题:
0. 请问以下代码会打印多少次"我爱中国!"
>>> while '中':
print('我爱中国!')
会打印无数次
1. 请问以下代码会打印多少次"我爱中国!"
>>> i = 10
>>> while i:
print('我爱中国!')
i = i - 1
会打印10次
2. 请写出与 10 < cost < 50 等价的表达式
>>> 10 < cost and cost < 50
3. Python3中,一行可以书写多个语句吗?
可以,中间加分号 “;” 后就可以
4. Python3中,一个语句可以分成多行书写吗?
可以,使用反斜杠 “\” 或者括号 “()” 分解成几行
动动手:
0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)。
# 导入random随机数模块
import random
# 定义用户的机会次数为3
times = 3
# 调用random随机数规定猜数的范围在1-10
secret = random.randint(1,10)
# 打印输出“-----------I love China-----------”
print('-----------I love China-----------')
# 这里先给 guess 赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
print("不妨猜一下我现在心里想的是哪个数字:", end=" ")
# while循环,当用户输入的数字不等于随机数 与 次数大于 0时,才会循环
while (guess != secret) and (times > 0):
# 将用户输入的数字临时存放起来
temp = input()
# while循环,当用户输入的内容不是int类型时,需要用户重新输入
while not temp.isdigit():
print('你个小坏蛋!要输入数字喔!')
temp = input('请输入一个整数:')
# 将用户输入的数字转换成int类型并存放起来
guess = int(temp)
# 用户每输入一次,机会次数 -1
times = times - 1
# if判断用户输入的数字是否等于随机数
if guess == secret:
# 等于,打印输出两句提示
print("挖草!!你是我肚子里的蛔虫吗?!_!")
print("嘿嘿!猜中了也没有奖励!^_^")
else:
# 否则,继续判断是否大于随机数
if guess > secret:
# 大于,打印输出提示
print("大了大了!T_T")
else:
# 否则,打印输出提示
print("小了小了!T_T")
# if判断
if times > 0:
print("再试一次吧:",end=" ")
else:
print("机会用光咯!T_T")
print("游戏结束啦!^_^")
1.尝试写代码实现以下功能:
>>>
请输入一个整数:5
1
2
3
4
5
>>>
# 用户输入一个整数,并转换成int类型
number = int(input("请输入一个整数:"))
# 定义变量 i,赋初始值为 1
i = 1
# while循环,number为循环条件
while number:
# 打印输出 i
print(i)
# i 的值循环加 1
i = i + 1
# 当 i 的值加到 number 时,受到范围限制,停止循环
number = number - 1
2.尝试写代码实现以下功能:
>>>
请输入一个整数:8
********
*******
******
*****
****
***
**
*
>>>
# 用户输入一个整数,并转换成int类型
number = int(input('请输入一个整数:'))
# while循环,number为循环条件
while number:
# 用户输入的整数循环 -1
i = number - 1
# while循环,i为循环条件
while i:
# 打印与用户输入的整数相同的空格数
print(' ', end='')
# 空格数循环 -1
i = i - 1
# 重新赋值用户输入的整数给 j
j = number
# while循环,j为循环条件
while j:
# 打印与用户输入的整数相同的 '*' 符号
print('*', end='')
# '*' 符号的数量循环 -1
j = j - 1
# 打印换行
print()
# 降序
number = number - 1