Javascript 试着做煎饼

Javascript 试着做煎饼,javascript,Javascript,我正在做一个有趣的任务,我在搜索过程中发现了这个任务,以进行健壮的验证,下面是我的验证代码 Pan = “1234567890-=[]{}%^*+_\|~<>€$¥•.,?!/()£&@“ # this is my list that I’m going to check an input against Valid = False while Valid ==False: Valid = True Forename=input(“Ple

我正在做一个有趣的任务,我在搜索过程中发现了这个任务,以进行健壮的验证,下面是我的验证代码

Pan = “1234567890-=[]{}%^*+_\|~<>€$¥•.,?!/()£&@“ # this is my list that I’m going to check an input against

Valid = False
while Valid ==False:
         Valid = True
         Forename=input(“Please enter name”)
         For i in range (0,len(pan)):
                if input[i] in pan == False:
                    Valid == False
信息是

TypeError:“内置函数”或“方法”对象不可下标

事先抱歉,我有点不知所措

请注意:

  • 应使用
    not
  • Valid==False
    应该是
    Valid=False
    ,因为您正在设置一个变量
  • 应以小写字母开头
尝试使用以下命令,我稍微清理了变量

pan = “1234567890-=[]{}%^*+_\|~<>€$¥•.,?!/()£&@“ # this is my list that I’m going to check an input against

valid = False
while valid == False:
     valid = True
     forename = input("Please enter name")
     for i in range (0,len(pan)):
         if input[i] not in pan:
             valid = False

您发布的代码中有几个问题。首先,您要求输入名称由Pan中的字符组成——名称通常按字母顺序排列,因此我担心您的逻辑颠倒了。然而

  • 此代码不会生成给定的输出:拼写错误的“for”将产生一个早期错误
  • 您需要索引保存输入的变量,而不是输入函数。这就是你犯的错误
  • 学会用布尔术语思考:任何时候当你有“==False”或“==True”时,你都没有正确地这样做
  • 只获取一次输入——不要让用户在每次字符检查时都输入它
  • 以下是更新后的代码:

    pan = “1234567890-=[]{}%^*+_\|~<>€$¥•.,?!/()£&@“  # valid characters
    
    forename = input(“Please enter name”)
    
    valid = False
    while not valid:
         valid = True       # input is good until we get a bad value
         for i in range (0, len(forename)):
             if forename[i] not in pan:
                 valid = False
                 break
    

    谢谢,伙计,但我不明白char是什么,请你解释一下char只是一个代表单个字符的变量。请注意,如果在中间两行中交换PAN和No.1,这同样适用。谢谢,我对计算还是相当新的,但是谢谢你们帮助我摆脱了ErgLad的帮助。我们都是新来的。这就是为什么我给了你一个使用你当前工具集的解决方案,然后又给了你一个使用一些高级工具的解决方案。不过,没有什么比看到你的代码工作更好的了。当你得到一个解决方案时,请记着投票选出有用的东西,并接受你最喜欢的答案(即使你必须自己写),因此,堆栈溢出可以正确地归档问题。
    name = input("Please enter a name")
    valid = True
    for char in pan:
        if char in name:
            valid = False
            break
    
    pan = “1234567890-=[]{}%^*+_\|~<>€$¥•.,?!/()£&@“  # valid characters
    
    forename = input(“Please enter name”)
    
    valid = False
    while not valid:
         valid = True       # input is good until we get a bad value
         for i in range (0, len(forename)):
             if forename[i] not in pan:
                 valid = False
                 break
    
     forename = "INVALID NAME"
    
     # Are all the name's characters found in pan?
     while not all(char in pan for char in forename):
         forename = input(“Please enter name”)