m0_70283927 2022-06-08 05:40 采纳率: 77.8%
浏览 27
已结题

关于python数据类型题

python改进猜数字的游戏
当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。

import random

print ('从0到10之间,请输入一个数字:')
answer = input()
guess = int(random.randint(0,10))
times = 3

if answer not answer.isdigit():
print (False, '输入错误,请再次输入一个数字从0到10之间')
answer = input()
while answer == answer.isdigit():
answer = int(input())
print (True)

    while (answer != guess) and (times > 0):
        times = times - 1
        print ('猜错了,重新再猜一次吧:')
        second_chance = int(input())            
        if answer == guess:
            print ('恭喜你猜对了!')
        if second_chance > guess:
            print ('大了')
        else:
            print ('小了')
 
    print ('电脑心理想的是:', guess, '游戏结束,不玩啦~')

思路:如果answer 不是answer.isdigit()那么就在输入一次,while (answer != guess) and (times >0)这条开始就没有问题了。
请问下为什么输入数字了之后代码就不跑了?
还有if answer not answer.isdigit()为什么有语法错误啊?

  • 写回答

1条回答 默认 最新

  • 於黾 2022-06-08 07:35
    关注

    answer.isdigit()返回一个bool类型,表示字符串里面是否全部由数字组成
    而answer本身是str类型,一个str永远不可能和一个bool相等啊
    把if answer not answer.isdigit():
    改为if not answer.isdigit():
    -=-=-=-
    以后还是要加强基础学习,搞清楚每个函数的意思,不要望文生义
    你现在基本属于连猜带懵,把中文语法硬往python语法上套的阶段

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月16日
  • 已采纳回答 6月8日
  • 创建了问题 6月8日

悬赏问题

  • ¥15 软件定义网络mininet和onos控制器问题
  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。