Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在学习编写代码时,我有一个关于python上的IF的问题_Python - Fatal编程技术网

在学习编写代码时,我有一个关于python上的IF的问题

在学习编写代码时,我有一个关于python上的IF的问题,python,Python,因此,我正在学习用Python编写代码,并对IF语句在这里的工作方式提出了一些问题,因为它似乎忽略了我的elif语句 我得到的唯一结果是最后一个,所以我尝试了其他选项并删除了最后一个选项,结果是我根本没有得到答案 print('name:') name=input() if name=='John': print('Sup John') elif name!='John': print('Sup stanger') print('age?') age=input() if (age.i

因此,我正在学习用Python编写代码,并对IF语句在这里的工作方式提出了一些问题,因为它似乎忽略了我的elif语句

我得到的唯一结果是最后一个,所以我尝试了其他选项并删除了最后一个选项,结果是我根本没有得到答案

print('name:')
name=input()
if name=='John':
  print('Sup John')
elif name!='John':
  print('Sup stanger')

print('age?')
age=input()
if (age.isdigit())==26:
  print('Yup')
elif (age.isdigit())<=0:
  print('WUT?!')
elif (age.isdigit())>=100:
  print('Are you inmortal?')
elif (age.isdigit())<=25: #Only result I get no matter what
  print('Too young')
print('name:')
名称=输入()
如果name=='John':
打印('Sup John')
elif名称!='约翰:
打印('Sup stanger')
打印(“年龄”)
年龄=输入()
如果(age.isdigit())==26:
打印('是')
elif(age.isdigit())=100:
打印('你是凡人吗?')

elif(age.isdigit())它不会忽略您的elif。您刚才误解了什么是
isdigit

isdigit
告诉您字符串中的所有字符是否都是数字。它不会将字符串转换为数字;它返回True或False

要转换为整数,请使用
int

if int(age) == 26:
   ...

既然您已经提到您正在尝试学习Python,那么我的回答将有点明确。
isdigit
检查字符串是否为数字。让我们举个例子

>>> s = "23"
>>> k = "abc"
>>> type(s)
<class 'str'>
>>> type(k)
<class 'str'>
>>> s.isdigit()
True
>>> k.isdigit()
False

希望这能有所帮助。

isdigit()
是一个逻辑测试,返回true/false,所以它永远不会等于26。您是否检查了
print(age.isdigit())
?是的,对不起,我对python和编码非常陌生,但这完全解决了它。非常感谢!是的,完全错过了isdigit的工作原理,非常感谢!
print('name:')
name = input()
if name=='John':
  print('Sup John')
else:
  print('Sup stanger')

print('age?')
age = input()
if int(age) == 26:
  print('Yup')
elif int(age) <= 0:
  print('WUT?!')
elif int(age) >= 100:
  print('Are you inmortal?')
elif int(age) <= 25: #Only result I get no matter what
  print('Too young')