鱼C论坛

 找回密码
 立即注册
查看: 2300|回复: 8

新人请教模块及循环问题

[复制链接]
发表于 2017-1-2 19:52:14 | 显示全部楼层 |阅读模式
6鱼币
请教大神,
1模块每次都需要引入吗?
2还有下面的代码最后为什么会先出现small再是game over啊,感觉应该是直接game over的啊

import random
s=random.randint(1,8)
g=input('please write the number you think i want:')
w=int(g)
if w>s:
    print('big')
else:
    print('small')
w=int(g)
while w!=s:
    g=input('please write the number you think i want:')
    w=int(g)
    if w>s:
        print('big')
    else:
        print('small')
print('game over')
搜狗截图20170102194248.png

最佳答案

查看完整内容

补充: 出现small原因1: 这里当w==s时,会print samll 原因2: 再次输入的数字会先进行if判断,当w==s,会print('small'),再while w!=s:判断
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-2 19:52:15 | 显示全部楼层
补充:
出现small原因1:
  1. if w>s:
  2.     print('big')
  3. else:
  4.     print('small')
复制代码

这里当w==s时,会print samll
原因2:
  1. while w!=s:
  2.     g=input('please write the number you think i want:')
  3.     w=int(g)
  4.     if w>s:
  5.         print('big')
  6.     else:
  7.         print('small')
  8. print('game over')
复制代码

再次输入的数字会先进行if判断,当w==s,会print('small'),再while w!=s:判断
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-2 21:44:50 | 显示全部楼层
本帖最后由 tianyacanjing 于 2017-1-2 21:49 编辑

判断语句:if w>s的else条件是w<=s,即当你w==s的时候,会运行else的语句print(“small”)。个人观点啊!请参考!
可做如下修改:
import random
s=random.randint(1,8)
g=input('please write the number you think i want:')
w=int(g)
if w>s:
    print('big')
else:
    if w<s:
        print('small')
w=int(g)
while w!=s:
    g=input('please write the number you think i want:')
    w=int(g)
    if w>s:
        print('big')
    else:
        print('small')
print('game over')

评分

参与人数 1荣誉 +4 鱼币 +2 贡献 +1 收起 理由
fooltal + 4 + 2 + 1 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-2 23:17:10 | 显示全部楼层
你判断 w >s 的时候 当 w小于或等于s的时候执行else里的内容   比如 w = s 的时候也执行else里的内容

评分

参与人数 1荣誉 +3 鱼币 +2 贡献 +1 收起 理由
fooltal + 3 + 2 + 1 支持楼主!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-3 02:50:57 | 显示全部楼层
模块需要每次引入
代码为逻辑错误,你的代码等于也会判断为small。else改为if(w<s)  

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
fooltal + 1 + 1 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-3 09:55:39 | 显示全部楼层
1 模块引入一次就好了
2 有多余的代码,small来自红框
QQ图片20170103094355.png

3 优化代码:
  1. import random
  2. s=random.randint(1,8)
  3. while True:
  4.     g=input('please write the number you think i want:')
  5.     w=int(g)
  6.     if w==s:
  7.         break
  8.     else:
  9.         if w > s:
  10.             print('big')
  11.         else:
  12.             print('small')
  13. print('game over')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-3 22:36:20 | 显示全部楼层
度娘
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-1-4 08:12:53 | 显示全部楼层
yretsym 发表于 2017-1-2 19:52
补充:
出现small原因1:

大神您好,为什么做的时候感觉每次都要引入啊,是引入方式有问题吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-6 16:02:10 | 显示全部楼层
没写关于等于的条件
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-24 19:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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