huangdongdong 发表于 2021-3-3 19:15:13

小白求助

def function(project):
    while project.isdigit:
      temp=int(project)
      if temp/400==int(temp/400):
            print(temp+'是闰年')
      else:
            if (temp/4==int(temp/4)) and (temp/100 != int(temp/100)):
                print(temp+'是闰年')
            else:
                print(temp+'不是闰年')
    while not project.isdigit:
      print('输入有误')
project=input('请输入年份:')


无法运行,如何修改

小伤口 发表于 2021-3-3 19:15:14

本帖最后由 小伤口 于 2021-3-3 19:24 编辑

def function(project):
    while project.isdigit:
      temp=int(project)
      if temp/400==int(temp/400):
            print(str(temp)+'是闰年')
            break
      else:
            if (temp/4==int(temp/4)) and (temp/100 != int(temp/100)):
                print(str(temp)+'是闰年')
                break
            else:
                print(str(temp)+'不是闰年')
                break
    while not project.isdigit:
      print('输入有误')
project=input('请输入年份:')
a=function(project)

temp是数字所以打印时要先变成字符串
break终止while

huangdongdong 发表于 2021-3-4 14:27:27

小伤口 发表于 2021-3-3 19:15
temp是数字所以打印时要先变成字符串
break终止while

为何当输入的不是数字类型时会报错,而不是执行 while not project.isdigit:
                                                                              print('输入有误')
这两行代码

小伤口 发表于 2021-3-4 18:20:49

huangdongdong 发表于 2021-3-4 14:27
为何当输入的不是数字类型时会报错,而不是执行 while not project.isdigit:
                        ...

def function(project):
   
    while project.isdigit():
      print(project.isdigit)
      temp=int(project)
      if temp/400==int(temp/400):
            print(str(temp)+'是闰年')
            break
      else:
            if (temp/4==int(temp/4)) and (temp/100 != int(temp/100)):
                print(str(temp)+'是闰年')
                break
            else:
                print(str(temp)+'不是闰年')
                break
    while not project.isdigit():
      print('输入有误')
      break
project=input('请输入年份:')
a=function(project)
后面要加括号
project.isdigit()
这才是正确用法
页: [1]
查看完整版本: 小白求助