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 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 three.js添加后处理以后模型锯齿化严重