鱼C论坛

 找回密码
 立即注册
查看: 2260|回复: 5

[已解决]小游戏学习的语法问题

[复制链接]
发表于 2017-6-1 21:43:15 | 显示全部楼层 |阅读模式

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

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

x
print("=====第一课小游戏=====")
import random
A = random.randint(1,10)
run = 1
print("请猜小甲鱼心里的数字:",end = "")
temp = input()
if not isinstance(temp,int):
    while not isinstance(temp,int):
        print("输入错误,请输入一个整数:",end = "")
        temp = input()
else:
    if guess == A:
        print("真棒,猜对了")
    else:
        while  run < 3:
            if guess > A:
                print('猜大了^_^')
            else:
                print('猜小了T_T')
            temp = input("猜错了再来一次:")
            guess = int(float(temp))
            run = run + 1
        if run <= 3:
            print('终于猜对了')
        else:
            print('猜这么多次都没对')
print('游戏结束')
-------------------------------------------------
无论我输入什么都是:输入错误,请输入一个整数:

----------------------------------------------------
我想表达输错类型没有次数限制,但是输错只能有三次。
最佳答案
2017-6-2 00:48:52
问题一:
temp = input()  temp 的类型就是一个str
所以你直接用temp去判断是否是int肯定是错误的
改成 temp = int(input())
问题二:
你没有对guess变量进行赋值 所以下面guess==A也是错的
先要guess==temp
问题三:
  else:
        while  run < 3:
            if guess > A:
                print('猜大了^_^')
            else:
                print('猜小了T_T')
            temp = input("猜错了再来一次:")
            guess = int(float(temp))
            run = run + 1
        if run <= 3:
            print('终于猜对了')
这一段 只要guess不等于A  然后if run<3 就打印对了?
你这么写 只要是错误的答案进去就会显示对了

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

使用道具 举报

发表于 2017-6-2 00:48:52 | 显示全部楼层    本楼为最佳答案   
问题一:
temp = input()  temp 的类型就是一个str
所以你直接用temp去判断是否是int肯定是错误的
改成 temp = int(input())
问题二:
你没有对guess变量进行赋值 所以下面guess==A也是错的
先要guess==temp
问题三:
  else:
        while  run < 3:
            if guess > A:
                print('猜大了^_^')
            else:
                print('猜小了T_T')
            temp = input("猜错了再来一次:")
            guess = int(float(temp))
            run = run + 1
        if run <= 3:
            print('终于猜对了')
这一段 只要guess不等于A  然后if run<3 就打印对了?
你这么写 只要是错误的答案进去就会显示对了

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

使用道具 举报

 楼主| 发表于 2017-6-2 12:27:16 | 显示全部楼层
本帖最后由 dzmpk007 于 2017-6-2 13:08 编辑
yongxi 发表于 2017-6-2 00:48
问题一:
temp = input()  temp 的类型就是一个str
所以你直接用temp去判断是否是int肯定是错误的

print("=====小游戏=======")

import random

A = random.randint(1,10)
run = 1

guess = 0
temp = input("请猜小甲鱼心里的数字:")

while (guess != A ) and (run <= 3):
    if not temp.isdigit():
        print("输入错误,请输入一个整数:",end = "")
        temp = input()
    else:
        guess = int(temp)
        if guess > A:
            print('猜大了^_^')
        else:
            print('猜小了T_T')
        run = run + 1
        if run <= 3:
            temp = input("猜错了再来一次:")
            guess = int(temp)
        else:
            print('猜这么多次都没对')

if guess == A:
    if run == 1:
        print("真棒,猜对了")
    else:
        print("so so yes!")
else:
    print(end = "")
print('游戏结束')


---------------------------------------------------------------
我先输入整数,再输入5.5,程序直接就报错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-2 13:20:34 | 显示全部楼层
dzmpk007 发表于 2017-6-2 12:27
print("=====小游戏=======")

import random

我弄好,原来我不能直接把input的字符串值强行int装换,要先判断是否是整型在转换
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-2 17:54:55 | 显示全部楼层
我觉得,这样是不是较好?(我只看到第4课,后面怎么样还不清楚)
  1. import random

  2. secrect = random.randint(1,10)  #随机一个猜数目标
  3. maxFer = random.randint(1,5)    #随机一个最大猜错次数
  4. print("----------One Game---------")
  5. change = 1
  6. frequency = 0
  7. while change:
  8.     temp = input("猜数字:")
  9.     guess = int(temp)
  10.     if guess == secrect:
  11.         #猜对就跳出循环
  12.         print("猜对了!")
  13.         print("然而也并木有什么奖励!")
  14.         change = 0
  15.     else:
  16.         if guess >secrect:
  17.             print("貌似大了哟~")
  18.         else:
  19.             print("好像小了吖!")
  20.         frequency += 1
  21.         if frequency == maxFer:
  22.            print("猜了" + str(frequency) + "遍也没猜中,简直弱爆啦!")
  23.            change = 0
  24. print("game over!!!")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-6-3 14:47:59 | 显示全部楼层
china25qd 发表于 2017-6-2 17:54
我觉得,这样是不是较好?(我只看到第4课,后面怎么样还不清楚)

我也刚刚到第六课,设置一个结束循环的变量。好想法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-27 20:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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