标题:[新人贴]TypeError: argument of type 'bool' is not iterable
只看楼主
ouyang2009
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2021-8-3
 问题点数:0 回复次数:2 
[新人贴]TypeError: argument of type 'bool' is not iterable
源码如下:
#相关信息:
#     项目名称:HackNet
#     工作室:rainbow
#     负责人:会飞的鱼
#     编辑器:IDLE(python 3.8 64-bit),Pycharm专业版
#
#设计架构图:
#     ----导入库
#    |
#     ----主程序部分
#             --函数部分
#             --程序设计
#             --程序加载

#======导入库======#
from time import* #时间库
#=================#

#======主程序部分======#

#------函数部分------#
user = True
Return = True
mail = True
mail2 = False
computer1 = False
computer2 = False
computer3 = False
computer4 = False
computer5 = False
computer6 = False
computer7 = False
computer8 = False
computer9 = False
mailtext = """
您好!
    我是你的朋友Nic
    昨天你说你想当黑客,我决定教教你。不过,你得先通过我的几个小测试。
    你知道telnet吗?这是一个连接到远程计算机的工具。你需要学会如何使用它。
    现在需要你用telnet连接到我的一个服务器上。我服务器的IP地址是29.53.103.3,用户名是root,密码是123456。连接成功后,请你立即用dc指令断开连接。
    你断开连接后,我会再给你寄一封邮件
    如果你有什么问题,可以使用系统的help指令。那里面有各种指令的使用说明。
    (提示:使用命令telnet 29.53.103.3)
    有关信息:
        指令:telnet 29.53.103.3
        用户名:root
        密码:123456
    """
#def nprint(text):
#      run = False
#      if run == False:
#            print("<192.168.1.102/", user ,"/>" , text , "\n<192.168.1.102/", user ,"/>") #192.168.1.102为玩家IP地址,user为输入的用户名,text为需要打印的内容
#            run = True
#      elif run == True:
#            print(text , "\n<192.168.1.102/", user ,"/>")
#-------------------#
def nprint(text):
    stdout.write('\r'+' '*0+'\r')
    stdout.flush()
    for df in text:
        stdout.write(df)
        stdout.flush()
        sleep(0.1)
def clear():
      print("\033[2J\033[1A",end="")
#------程序------#
#思路:
#     当输出框按下回车或发送键后,先使用nprint函数处理再打印到屏幕上
while True:
    if mail == True:
        print("\033[041m\033[004m您有新的邮件!输入mail查看\033[000m")
    elif mail == False:
        print("当前无邮件可获取")
    user = input("\033[031m<192.168.1.102/unknow/>\033[000m")
    cmd = "cmd" #定义检测内容
    telnet = "telnet" #定义检测内容
    get = user #哪一条字符串?
    if get in cmd: #判断这条字符串里是否含有检测内容
        print()
    elif get in telnet: #判断这条字符串里是否含有检测内容
        print()
    elif get in mail: #判断这条字符串里是否含有检测内容
        if mail == True: #如果mail为True,则输出邮件内容
            print(mail)
            mail = False #已阅读则更改函数为False
        elif mail == False: #如果mail为False,则输出没有邮件
            print("--------您没有新的邮件--------")[/color]
    else:
        print("\033[031m无效指令!\033[000m")
        sleep(1)
        clear()

运行报错:
Traceback (most recent call last):
  File "C:\Users\Desktop\HackNet\main.py", line 82, in <module>
    elif get in mail: #判断这条字符串里是否含有检测内容
TypeError: argument of type 'bool' is not iterable
我没有搞明白到底哪里错了,问题出在划线那一块
搜索更多相关主题的帖子: mail False 内容 user print 
2021-08-03 22:39
ouyang2009
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2021-8-3
得分:0 
来个人帮一帮吧,真的很难搞啊,只要输入mail就会报错
2021-08-04 09:31
古123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:219
专家分:1098
注 册:2017-2-5
得分:0 
回复 楼主 ouyang2009
是不是mail是bool,没法用in
2021-08-05 07:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506392-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147652 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved