|
发表于 2019-1-29 01:30:48
|
显示全部楼层
本帖最后由 回眸笑傾城 于 2019-1-29 01:37 编辑
因为嘛,我没有购买鱼哥的这个帖子,所以好像没有做过这个测验,
但我觉得还是可以尝试解答一下,
因为也是新手一枚,我解答的也不知道对不对,参考一下就好了..
顺便牢固一下知识
import random <--------影片中說過,因為我們要設一個隨機的數目,所以在腳步開始前先設一個內置模塊(import)而參數為ramdom(隨機)
至於為什麼要放在最前!其實我嘗試過,因為我有強迫症,
所以在最開始先打印了歡迎來到遊戲的字句,
但發覺是對import ramdom是沒有影響的,
所以我想 只要在secret = random.randint(1,10)前輸入就可以了
你總不能在secret = random.randint(1,10)之後才打印
import ramdom吧,肯定運行錯誤的
times = 3 <------------跟上面一样,先设置好机会(猜数字的次数)
总不能开始游戏后猜错了再设置吧,
必须游戏开始前先设定好了
secret = random.randint(1,10)<-------------也是一样 先把开局条件设置好,这里是随机的数字,刚刚就说了,如果把import ramdom放到之後肯定不行的
所以就以上来说顺序,我也尝试了一下,
import random跟times变数赋值的操作可以互换
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0 <---这里肯定要先赋值呀,不然你下面的操作就运行不了
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0): <----前面主要参数都设置好了,才可以进行操作 要是你把这个循环项放到最顶, 那必须出错了,因为guess跟times这两个变数我们还没有给他赋值呢
temp = input() <---这里就是你给temp这个变数赋值了,赋值为玩家输入的数值(当没有进行转换类型时,都是默认为以字符串输入的)
guess = int(temp)<----------这里就是第二个步骤了,转型,不然又得报错了!
times = times - 1 # 用户每输入一次,可用机会就-1 <-----这里就很简单了解了,输入一次,机会-1,为什么不把他放到temp上面呢?
因为我们是说好了嘛,三次机会,要是把他放到上面,就会先执行次数-1,然后再给玩家输入(input)的指令,那第三次岂不是还没猜就结束了呢?!
if guess == secret:<-------为什么这个if要放到这呢?!放上面不行吗???不行的,在上面guess我们还没有赋值呀,所以肯定得放到这里了
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:<---很好理解了吧,假设上面的IF(就是数字没有猜中呀,就运作以下的项目了)
if guess > secret:<---就是假设 guess(玩家输入的数字)>(大过)secret(我们上面设置的随机数字)就出现:
print("哥,大了大了~~~")
else:<-----------严格来说是对上的IF条件不成立就出现以下:
print("嘿,小了,小了~~~")
if times > 0:
print("再试一次吧:", end=" ")<-------------------这一段其实可以放到if guess前,times-1之后
而不影响运行
因为times我们在开始已经赋值了
唯一分别在于三次机会用光后
print打印("机会用光了")会在最前
else:
print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")
大致上的流程就是这样,
因为脚本运行是由上到行,
所以必须按着顺序走
例如,在对变量(设X)进作操作前,
你必须给他赋值呀,不然怎样弄呢??
if(设)肯定要在else(否则)之前呀
不然你否则啥呢是不是??!
我也不知道我有没有解答到你的问题,
参考参考就好,因为我不确定我有没有地方说错了,
但这是我大概的粗浅理解..
|
|