鱼C论坛

 找回密码
 立即注册
查看: 2643|回复: 3

004课里面遇到的问题,请教大家

[复制链接]
发表于 2014-9-13 21:24:35 | 显示全部楼层 |阅读模式

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

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

x
大家好,我在004课里面遇到了一些问题,想请教一下大家.并且@小甲鱼 动动手那个有带你小问题.

先说动动手那个小问题就是,当你输入一个比较大的数字的时候没有提示,再试一次,所以需要在哥,大了,大了下面加入一个if.这样无论大小都会提示要重试了.

import random
times = 3
secret = random.randint(1,10)
print('--------测试数据-------')
guess = 0
print("踩一下是哪个数字:",end="")
while (guess != secret)and(times > 0):
    temp = input()
    guess = int(temp)
    times = times -1
    if guess == secret:
        print("你是小甲鱼肚子里的蛔虫吗?!")
        print("哼,猜中了也没有奖励!")
    else:
        if guess > secret:
            print ("哥,大了...")
            if times > 0:
                print("try again :",end="")
            else:
                print("机会用光了 T_T")
        else:
            print("嘿,小了...")
            if times > 0:
                print("try again :",end="")
            else:
                print("机会用光了 T_T")
print("游戏结束!")




还有就是星星那个我是这样写的(面了吗没意义随便乱起),不知道算不算对...
i = input('请输入一个整数')
ii = int(i)
while ii:
    ii = ii - 1
    print(end=' ' * ii)
    print('*' * ii)



遇到的问题是
(10 < cost) and (cost < 50)
这个不成立,没有赋值给cost....是只要写出这个式子就算过了吗?



我有说的不对的地方还请各位多多指正,谢谢大家



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-14 01:43:48 | 显示全部楼层
1,答案的代码应该没问题:

  1. import random
  2. times = 3
  3. secret = random.randint(1,10)
  4. print('------------------我爱鱼C工作室------------------')
  5. # 这里先给guess赋值(赋一个绝对不等于secret的值)
  6. guess = 0
  7. # print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
  8. # 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
  9. print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
  10. while (guess != secret) and (times > 0):
  11.     temp = input()
  12.     guess = int(temp)
  13.     times = times - 1 # 用户每输入一次,可用机会就-1
  14.     if guess == secret:
  15.         print("我草,你是小甲鱼心里的蛔虫吗?!")
  16.         print("哼,猜中了也没有奖励!")
  17.     else:
  18.         if guess > secret:
  19.             print("哥,大了大了~~~")
  20.         else:
  21.             print("嘿,小了,小了~~~")
  22.         if times > 0:
  23.             print("再试一次吧:", end=" ")
  24.         else:
  25.             print("机会用光咯T_T")
  26. print("游戏结束,不玩啦^_^")
复制代码


2. 第二题按照题目要求是输入数字,第一行打印数字个数的*,第二行少一个,以此类推,你的代码第一行少打一个,以此类推。

按照你的思路,可以这么改:

  1. i = input('请输入一个整数')
  2. ii = int(i)
  3. while ii:
  4.     print(end=' ' * ii)
  5.     print('*' * ii)
  6.     ii = ii - 1
复制代码


3. 是的,条件成立即可,没有发生赋值操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-14 10:21:25 | 显示全部楼层
小甲鱼 发表于 2014-9-14 01:43
1,答案的代码应该没问题:

小甲鱼老师我找到问题所在了,我把再试一次那里多了一个缩进.....要执行到else才能执行到说再试一次.嘿嘿.谢谢 小甲鱼老师的回答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-14 10:22:25 | 显示全部楼层
小甲鱼 发表于 2014-9-14 01:43
1,答案的代码应该没问题:

还有第二题的问题我也明白了,如果先减1,那么刚输入进去的数字的第一行打印就不是原数字,而是减1以后的.谢谢小甲鱼老师的回答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 10:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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