关于一个问题
def usi(num1 = None,num2 = None):
if num1 == str(num1):
print('错误')
if num2 == str(num2):
print('错误')
elif num1 == int(num1):
print(num1)
if num2 == int(num2):
print(num2)
elif num1 == None:
print('???')
if num2 == None:
print("????")
usi()
老师,我应该输入什么,才能让他执行后面打印的那个prin(’???‘)
正在回答
同学你好:
同学需要调整一下代码的执行顺序。
然后调用该函数。不需要传递参数。
先判断是否为None,然后在去判断后面的int类型还是str类型。
同学首先需要知道if-elif的执行流程,先判断if的条件,符合执行该条件下的代码,然后退出条件判断。反之继续执行下面的elif的判断,符合执行该条件下的代码,然后退出条件判断。依次类推。从上到下依次去执行条件判断语句。
按照同学的执行顺序。如果同学的num1和num2都为None。先执行if中的int()方法的类型转换直接报错,因此无法继续向下判断。
int() argument must be a string, a bytes-like object or a number, not 'NoneType'
如果按照下面的写法(调整顺序),先判断是否为空。则不会出现上面的状况。

如果我解决了同学的问题,请采纳!学习愉快^_^。
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星