为了账号安全,请及时绑定邮箱和手机立即绑定

验证字符串python中的第一个数字

验证字符串python中的第一个数字

慕桂英546537 2021-08-11 21:26:27
我是 python 的新手,已经在这个网站上搜索过,但仍然无法弄清楚。这是一个家庭作业,所以不是在寻找答案,但我无法弄清楚我做错了什么并出现语法错误(我坚持第一条规则......)赋值:我们假设信用卡号是一个由 14 个字符组成的字符串,格式为####-####-####,包括破折号,其中“#”代表一个0-9之间的数字,所以总共有12位数字。1.第一位数字必须是4。 2.第四位数字必须比第五位数字大一个;请记住,由于格式为####-####-####,因此它们由破折号分隔。3. 所有数字的和必须能被 4 整除。 4. 如果将前两位数字视为两位数,将第七位和第八位数字视为两位数,则它们的和必须为 100。到目前为止,这是我的代码。我读过您不能将字符与数字进行比较,但我尝试过的任何方法都没有奏效。任何帮助/指导将不胜感激!def verify(number) : if input ['0'] == '4'  return Trueif input ['0'] != '4'  return "violates rule #1"input = "4000-0000-0000" # change this as you test your functionoutput = verify(input) # invoke the method using a test inputprint(output) # prints the output of the function
查看完整描述

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

您的代码不正确:


def verify(number): 

# incorrect indent here

if input ['0'] == '4' # missing : and undeclared input variable, index should be int

   return True

if input ['0'] != '4'   # missing : and undeclared input variable, index should be int

  return "violates rule #1"

固定代码:


def verify(number):

    if number[0] != '4'

        return "violates rule #1"

    # other checks here

    return True

另外我建议False从这个函数返回而不是错误字符串。如果您想返回有错误的字符串,请考虑使用 tuple like(is_successful, error)或自定义对象。


查看完整回答
反对 回复 2021-08-11
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

看看字符串索引:


字符串可以被索引(下标),第一个字符的索引为 0。没有单独的字符类型;一个字符只是一个大小为 1 的字符串:


>>> word = 'Python'

>>> word[0]  # character in position 0 'P'

>>> word[5]  # character in position 5 'n'

然后阅读if 语句- 您的代码缺少:,第二个if可以用else子句替换。


您可能还想检查函数的参数,而不是全局变量input(这是一个坏名称,因为它隐藏了input()内置变量)


建议修复:


def verify(number) : 

    if number[0] == '4':

        return True

    else:

        return "violates rule #1"


testinput = "4000-0000-0000" # change this as you test your function

output = verify(testinput) # invoke the method using a test input

print(output) # prints the output of the function


查看完整回答
反对 回复 2021-08-11
?
九州编程

TA贡献1785条经验 获得超4个赞

你的代码很好,但有几个问题


def verify(number) : 


   if input [0] == '4':

     return True

   if input [0] != '4':

     return "violates rule #1"


input = "4000-0000-0000" # change this as you test your function

output = verify(input) # invoke the method using a test input

print(output) # prints the output of the function

首先,缩进在python中很重要,属于函数定义的所有内容都应该缩进。


其次,if 语句后面应该跟:. 就这些


查看完整回答
反对 回复 2021-08-11
  • 3 回答
  • 0 关注
  • 339 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信