|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
游戏可以提出三个方面的改进。
1.猜错的时候可以给点提示。
2.一次运行,可不可以多几次猜错,毕竟并不是所有人都能一次猜对。
3.可不可 以让答案是随机的,这样才有趣味不是吗?
先来实现第一个要求:
无非就是判断用户输入的数据是大了还是小了。所以我们需要分支判断来帮助我们实现此功能。判断就离不开比较。现把Python的比较操作符给出:
< | 左边小于右边 | > | 左边大于右边 | <= | 左边小于等于右边 | >= | 左边大于等于右边 | == | 左边等于右边 | != | 左边不等于右边
|
第一次改进的小游戏(1.0版)
- guess = int(input("请输入一个数字:"))
- if guess == 8:
- print("哇艹,你是小甲鱼肚子里的蛔虫吗?")
- print("哼,猜对的也没有奖励!")
- else:
- if guess > 8:
- print("哥。大了~")
- else:
- print("嘿!小了~")
- print("游戏结束!不玩了~")
复制代码
第二个要求:一次运行多次判断,需要while循环来实现。
第二次改进的小游戏(2.0)
- guess = int(input("请输入一个数字:"))
- while guess != 8:
- guess = int(input("猜错了~不妨再猜一次:"))
- if guess == 8:
- print("哇靠,你是小甲鱼肚子里的蛔虫吗?")
- print("哼,猜对的也没有奖励!")
- else:
- if guess > 8:
- print("哥。大了~")
- else:
- print("嘿!小了~")
- print("游戏结束!不玩了~")
复制代码 发现还是有点小问题就是你只有输入正确答案才能结束。这好像跟我们的要求有点不一致了。
给点提示(使用and逻辑操作符)
我做了以下改变:
- guess = int(input("请输入一个数字:"))
- i = 1
- while guess != 8 and i < 3:
- guess = int(input("猜错了~不妨再猜一次:"))
- if guess == 8:
- print("哇艹,你是小甲鱼肚子里的蛔虫吗?")
- print("哼,猜对的也没有奖励!")
- else:
- if guess > 8:
- print("哥。大了~")
- else:
- print("嘿!小了~")
- i = i + 1
- print("游戏结束!不玩了~")
复制代码 这样我们只可以猜四次,如果还不正确就会强制结束游戏。
现在要做最后一次改进即每一次运行让答案变成随机的。
我们需要引入外援random模块
random module 里面有一个randint(),它会返回一个随机数。利用这个函数来改进我们的游戏吧?
- import random
- secret = random.randint(1,10)
- guess = int(input("请输入一个数字:"))
- i = 1
- while guess != secret and i <= 3:
- guess = int(input("猜错了~不妨再猜一次:"))
- if guess == secret:
- print("哇艹,你是小甲鱼肚子里的蛔虫吗?")
- print("哼,猜对的也没有奖励!")
- else:
- if guess > secret:
- print("哥。大了~")
- else:
- print("嘿!小了~")
- i = i + 1
- print("游戏结束!不玩了~")
复制代码
随着不停的测试发现,发现两个,当第一次输入正确答案的时候,并没有给出奖励的提示而是直接提示游戏结束;第一次猜错了也没有给出提示是大了还是小了。
课后作业整理:
0.Ctrl+C强制结束。
3.中间用分号隔开
4.使用反斜杠(\)或者圆括号
5.额这一点是真想不到。试验了一把的确是这么回事,当and前面的那个表达式为False时,返回后面那个表达式的结果,即返回3.有什么用呢?不知道。
6.短路逻辑就是对整个表达式已经知道了结果,后面的表达式也就没有计算的必要了。
动手:
0.第一个程序确实没有写出来但看了小甲鱼的代码收获也是巨大的。
做不到的是第一次没有输入正确,在第二次,第三次输入正确的时候会给出猜中的提示,但第一次正确输入的值guess直接通过while判断而不在进行while包含的语句块,也就无法给出猜中的提示。将第一次输入也放到while循环之中即可。对print的理解也就更深了一步。
- import random
- secret = random.randint(1,10)
- guess = 0
- print("不妨猜一猜小甲鱼心里想的是哪一个数字:", end = "JJ = ")
- times = 3
- while guess != secret and times > 0:
- guess = int(input())
- times = times - 1
- if guess == secret:
- print("哇艹,你是小甲鱼肚子里的蛔虫吗?")
- print("哼,猜对的也没有奖励!")
- else:
- if guess > secret:
- print("哥。大了~")
- else:
- print("嘿!小了~")
- if times > 0:
- print("哎!错了!再试试:", end = "JJ = ")
- else:
- print("次数用完了。这都猜不中。你是想死嘞!!")
- print("游戏结束!不玩了~")
复制代码 1.
- temp = int(input("请输入一个整数:"))
- i = 1
- while temp:
- print(i)
- i = i + 1
- temp = temp - 1
复制代码
2.重点来了 :我要强势装一波(我的答案绝对比小甲鱼的要完美@小甲鱼 ):
- temp = int(input("请输入一个整数:"))
- while temp:
- print(" " * temp, end = ("*" * temp + "\n"))
- temp = temp - 1
复制代码
|
评分
-
查看全部评分
|