轮回ste 发表于 2019-7-10 16:07:18

改进小游戏

import random
secret = random.randint(1,10)
str = input ('猜猜我是几')
num = int(str)
a=1
if num ==secret:
    print("猜对了")
while num != secret and a!=3 :
      if num <secret:
            print("小了")
   
      else:
                print('大了')               
      str = input('接着猜')
      num = int(str)
      a = a+1
      if num == secret:
            print('猜对了')
if a == 3 and num != secret:
    print('你是真的菜')   
print('不玩了')

1.没有按照甲鱼说的去打,我这样是不是复杂,会占用更多内存?
2.还有就是我想在 '你是真的菜'后面再加上正确答案
于是我写了 ( '你是真的菜'+secret)
显示错误,我该怎么打呢?
真心求大佬指教!!!!

新手·ing 发表于 2019-7-10 16:17:01


import random
secret = random.randint(1,10)
str = input ('猜猜我是几')
num = int(str)
a=1
if num ==secret:
    print("猜对了")
while num != secret and a!=3 :
      if num <secret:
            print("小了")
   
      else:
                print('大了')               
      str = input('接着猜')
      num = int(str)
      a = a+1
      if num == secret:
            print('猜对了')
if a == 3 and num != secret:
    print('你是真的菜'+str(secret))   
print('不玩了')
如果这完全是你自己写的,价值远大于照抄小甲鱼老师的(也许你的比他慢)

x287208793 发表于 2019-7-10 16:29:41

import random
a = 1
secret = random.randint(1, 10)
str = input('猜猜我是几:')
num = int(str)
while a != 3:
    str = input('接着猜:')
    num = int(str)
    a = a + 1
    if num == secret:
      print('猜对了')
      break
    else:
      if num < secret:
            print("小了")
      else:
            print('大了')
print('你是真的菜,不玩了')

MMM啊 发表于 2019-7-10 16:43:27

import random

number = int(input('请输入小甲鱼心里想的数字吧!: '))
m = random.randint(0, 10)
i = 3
while number != m:
    print(m)
    if i > 0:
      if number < m:
            print('小了小了')
      elif number > m:
            print('大了大了')
      else:
            print('请遵守游戏规则')
      i -= 1
      number = int(input('请输入小甲鱼心里想的数字吧!: '))

print('恭喜!您猜中了,答案是{}'.format(m))
有的不需要的可以注释掉

tzh2006 发表于 2019-7-10 16:46:31

666

酒锦 发表于 2019-7-10 17:02:30

import random                #引入模块random   
secret = random.randint(1,10)    # secret 答案 模块中的函数randint()能随机数

print("我的第一次编程")
temp = input("猜一下我现在在想什么数字")
guess=int(temp)

while guess != secret:
    print("猜错了哦")

    guess=int(temp)
    if guess > secret :
      print("大了,大了")
    else:
      print("小了,小了")

    temp = input("再猜一下我现在在想什么数字")
    guess=int(temp)
    if guess == secret :
      print("你终于")
print("""猜中了,
不过猜中了也没奖励,哈哈
好了,游戏到此结束咯
""")

MMM啊 发表于 2019-7-10 17:15:17

其实你想在结尾加上的东西是一个语句format的调用,我给你发的参考答案上有的,其实就是占位符的使用

轮回ste 发表于 2019-7-10 20:48:23

新手·ing 发表于 2019-7-10 16:17
如果这完全是你自己写的,价值远大于照抄小甲鱼老师的(也许你的比他慢)

您说的我之前就试过了,然后出错了,也不知道为什么
python   Shell
猜猜我是几9
大了
接着猜9
大了
接着猜9
Traceback (most recent call last):
File "D:\笨办法\python\1.py", line 20, in <module>
    print('你是真的菜'+str(secret))
TypeError: 'str' object is not callable
这是怎么回事?

轮回ste 发表于 2019-7-10 20:54:42

x287208793 发表于 2019-7-10 16:29


感谢,学会了用break,能省很多步骤,谢谢

轮回ste 发表于 2019-7-10 21:08:59

其实感觉好像这个代码不完整且因为缩进没打好好像出现了错误,因为我只给了三次输入机会,所以最终可能都没猜中,不过通过您我知道了我想知道的,谢谢!

HM5234 发表于 2019-7-12 11:13:01

新手·ing 发表于 2019-7-10 16:17
如果这完全是你自己写的,价值远大于照抄小甲鱼老师的(也许你的比他慢)

这段代码有两个小问题哦:
1.是重复啰嗦了,猜对了的可以删一条,另一条改进一下;
2.你是真的菜后输出正确答案,可以直接在中文字符串后面加一个逗号,再加secret就可以了。
具体参考以下:
import random
secret = random.randint(1,10)
str = input ('猜猜我是几:')
num = int(str)
a = 1

while num != secret and a!=3 :
      if num <secret:
            print("小了!!!")
   
      else:
            print('大了!!!')               

      str = input('接着猜:')
      num = int(str)
      a = a+1

if num == secret:
    print('猜对了!')

if a == 3 and num != secret:
    print('你是真的菜,正确答案是:',secret)   

print('游戏结束,不玩了!')

HM5234 发表于 2019-7-12 11:29:48

你改成 print('你是真的菜',secret)   试试
另外,猜对了的语句 确实有点啰嗦了,可以考虑删掉其中一个,但是直接删一个肯定是不行的,可以好好思考下,多试一试。
页: [1]
查看完整版本: 改进小游戏