Find smaller number from 2 provided - works, but throws an error. TypeError: cannot unpack non-iterable NoneType object
Find smaller number from 2 provided - works, but throws an error. TypeError: cannot unpack non-iterable NoneType object
我又进入了 python,但我不明白为什么它会给我一个错误,同时工作得很好。
def smaller_num(x, y):
if x > y:
number = y
else:
number = x
print(f'Smaller number, between {x} and {y} is {number}')
def main():
x, y = smaller_num(x=int(input('Enter first number: ')), y=int(input('Enter second number: ')))
smaller_num(x, y)
if __name__ == '__main__':
main()
- 你的函数return没什么,你可以把它修改成return数,就是x和y之间找到的较小的数
- 您尝试从 returns nothing/None 的函数中捕获两个值 x 和 y(一个元组),因此它不能很好地工作
- 最好获取returned值,在代码的main()部分打印答案。
代码:
def smaller_num(x, y):
if x > y:
number = y
else:
number = x
return number
def main():
x=int(input('Enter first number: '))
y=int(input('Enter second number: '))
number = smaller_num(x, y)
print(f'Smaller number, between {x} and {y} is {number}')
if __name__ == '__main__':
main()
小事:您的主要 x、y 正在为两者调用您的函数。主调用循环有语法错误。
def smaller_num(x, y):
number = None
if x > y: number = y
else: number = x
print(f'Smaller number, between {x} and {y} is {number}')
def main():
x=int(input('Enter first number: '))
y=int(input('Enter second number: '))
smaller_num(x, y)
if __name__ == '__main__':
main()
这是因为您试图从函数中为 x 和 y 赋值,该函数 return 什么都不做,只打印结果。即名为 smaller_num
的函数
def main():
x=int(input('Enter first number: '))
y=int(input('Enter second number: '))
smaller_num(x, y)
这可能是解决问题的一种方法。请注意,这里的 x 和 y 是从输入分配的,然后打印较小的数字。
另外,如果你真的想在一行中完成,那么:
def main():
smaller_num(int(input('Enter first number: ')), int(input('Enter second number: ')))
这会很好用。您只需要将 main 函数修改为其中任何一个即可。
我又进入了 python,但我不明白为什么它会给我一个错误,同时工作得很好。
def smaller_num(x, y):
if x > y:
number = y
else:
number = x
print(f'Smaller number, between {x} and {y} is {number}')
def main():
x, y = smaller_num(x=int(input('Enter first number: ')), y=int(input('Enter second number: ')))
smaller_num(x, y)
if __name__ == '__main__':
main()
- 你的函数return没什么,你可以把它修改成return数,就是x和y之间找到的较小的数
- 您尝试从 returns nothing/None 的函数中捕获两个值 x 和 y(一个元组),因此它不能很好地工作
- 最好获取returned值,在代码的main()部分打印答案。
代码:
def smaller_num(x, y):
if x > y:
number = y
else:
number = x
return number
def main():
x=int(input('Enter first number: '))
y=int(input('Enter second number: '))
number = smaller_num(x, y)
print(f'Smaller number, between {x} and {y} is {number}')
if __name__ == '__main__':
main()
小事:您的主要 x、y 正在为两者调用您的函数。主调用循环有语法错误。
def smaller_num(x, y):
number = None
if x > y: number = y
else: number = x
print(f'Smaller number, between {x} and {y} is {number}')
def main():
x=int(input('Enter first number: '))
y=int(input('Enter second number: '))
smaller_num(x, y)
if __name__ == '__main__':
main()
这是因为您试图从函数中为 x 和 y 赋值,该函数 return 什么都不做,只打印结果。即名为 smaller_num
def main():
x=int(input('Enter first number: '))
y=int(input('Enter second number: '))
smaller_num(x, y)
这可能是解决问题的一种方法。请注意,这里的 x 和 y 是从输入分配的,然后打印较小的数字。 另外,如果你真的想在一行中完成,那么:
def main():
smaller_num(int(input('Enter first number: ')), int(input('Enter second number: ')))
这会很好用。您只需要将 main 函数修改为其中任何一个即可。