鱼C论坛

 找回密码
 立即注册
查看: 2131|回复: 9

[已解决]零基础python的第四节课作业问题

[复制链接]
发表于 2017-4-6 18:36:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
picture-4be01c868d609579ed2fb50bcc530aa2.jpg
左边是作业答案实现了三次机会,右边是我自己的没实现三次机会
最佳答案
2017-4-6 19:10:13
  1. times = times - 1
复制代码
放到while循环里,这样每猜一次,次数就少一次
  1. import random

  2. num=random.randint(1,100) # 可以调整大小
  3. times = 5

  4. while True:
  5.     guess=input('猜一个1到100的数字:')
  6.     i=int(guess)
  7.     if i==num:
  8.         print('你猜对了!')
  9.         print('你赢了! ')
  10.         break
  11.     elif i<num:
  12.         print('再猜高一点!')
  13.         times-=1
  14.         print('你还有%s次机会!' % (times))
  15.     elif i>num:
  16.         print('再猜低一点!')
  17.         times-=1
  18.         print('你还有%s次机会!' % (times))
  19.     if times == 0:
  20.         print('次数用光啦!')
  21.         print('游戏结束')
  22.         break
复制代码

自己写的,也没有什么区别,只是优美了一些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-6 18:47:42 | 显示全部楼层
本帖最后由 新手·ing 于 2017-4-6 19:07 编辑

把times=times-1放在while循环里面

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
Aoyanm + 1 + 1 谢谢

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-6 19:10:13 | 显示全部楼层    本楼为最佳答案   
  1. times = times - 1
复制代码
放到while循环里,这样每猜一次,次数就少一次
  1. import random

  2. num=random.randint(1,100) # 可以调整大小
  3. times = 5

  4. while True:
  5.     guess=input('猜一个1到100的数字:')
  6.     i=int(guess)
  7.     if i==num:
  8.         print('你猜对了!')
  9.         print('你赢了! ')
  10.         break
  11.     elif i<num:
  12.         print('再猜高一点!')
  13.         times-=1
  14.         print('你还有%s次机会!' % (times))
  15.     elif i>num:
  16.         print('再猜低一点!')
  17.         times-=1
  18.         print('你还有%s次机会!' % (times))
  19.     if times == 0:
  20.         print('次数用光啦!')
  21.         print('游戏结束')
  22.         break
复制代码

自己写的,也没有什么区别,只是优美了一些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 19:56:14 | 显示全部楼层
因为time永远大于零,所以是个死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 20:46:34 | 显示全部楼层
本帖最后由 文质彬彬胡汉三 于 2017-4-6 20:48 编辑

朋友你好,你的程序不循環是因為你自己寫的代碼是一個死循環,追根原因是你對while循環可能還不太掌握。
我也是新手小白,給你提供一個理解while循環的例子幫助你力加深你的理解,關於whlie循環,
只要while後面的條件語句為真,那麽這個循環將一直進行下去,,擧例子如下:
  1. i =3
  2. while i>0:
  3.       print('你好,世界')
复制代码

上面這個例子中,條件i>0是恆成立的,所以屏幕會一直不停地打印''你好,世界''。
儅需要循環指定次數, 那麽在條件不滿足的情況下,循環會終止,舉例如下:
  1. i=3
  2. while i>0:
  3.       print('你好,世界')
  4.       i = i-1
复制代码

儅i>0時候,執行打印'你好,世界',執行完之後,同時,執行i=i-1,i的值會變小1,循環繼續,儅i執行到i=0時,已經不能滿足循環條件,此時,循環終止

不知這樣說你是否明白,一起交流,共勉。加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-6 23:15:20 | 显示全部楼层
文质彬彬胡汉三 发表于 2017-4-6 20:46
朋友你好,你的程序不循環是因為你自己寫的代碼是一個死循環,追根原因是你對while循環可能還不太掌握。
...

老哥,你的回答是很好,但是能不能弄成简体...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 13:45:09 | 显示全部楼层
学习学习,谢谢各位前辈!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 15:02:26 | 显示全部楼层
alltolove 发表于 2017-4-6 19:56
因为time永远大于零,所以是个死循环

19课后练习
第四题实在没懂为什么答案是那样
可不可以细心帮我讲下每个步骤是怎么样的
var = ' Hi '

def fun1():
    global var
    var = ' Baby '
    return fun2(var)

def fun2(var):
    var += 'I love you'
    fun3(var)
    return var

def fun3(var):
    var = ' 小甲鱼 '

print(fun1())

实在是感激不尽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 15:36:27 From FishC Mobile | 显示全部楼层
Pythonkir 发表于 2017-4-7 15:02
19课后练习
第四题实在没懂为什么答案是那样
可不可以细心帮我讲下每个步骤是怎么样的

第一个函数里是全局变量,返回值是第二个函数,第三个函数因为是局部产量所以在第二个函数里调用并没有意义,最后的结果就是全局变量的值加上第二个函数的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 15:38:30 | 显示全部楼层
本帖最后由 Pythonkir 于 2017-4-7 16:46 编辑
alltolove 发表于 2017-4-7 15:36
第一个函数里是全局变量,返回值是第二个函数,第三个函数因为是局部产量所以在第二个函数里调用并没有意 ...


var = ' Hi '

def fun1():
    var = ' Baby '
    return fun2(var)

def fun2(var):
    var += 'I love you'
    fun3(var)
    return var

def fun3(var):
    var = ' 小甲鱼 '

print(fun1())

去除global var 之后依然会得到 baby i love you
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 14:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表