python问题求助
def approximate(num):count = num // 2
while count > 1:
if (num % count) == 0:
print(' %d 的最大约数是 %d' % (num, count))
break
count = count - 1
else:
print(' %d 是素数' % num)
number = int(input('请输入需要查询的数字: '))
result = approximate(number)
print('%d的最大约数是:%d' % (number, result))
运行结果是:
请输入需要查询的数字: 4
4 的最大约数是 2
Traceback (most recent call last):
File "F:/pycharm_work/venv/最大约数.py", line 18, in <module>
print('%d的最大约数是:%d' % (number, result))
TypeError: %d format: a number is required, not NoneType
typeerror这两个值 number,result 应该都是输出的,不动为什么这块会出错,
虽然在上边 已经将结果输出了,但是就是好奇,为什么下边的输出会出现错误。
result没有值 result = approximate(number)你这个函数是没有返回值的,那你还给他赋值,这不是难为人?? wp231957 发表于 2021-4-15 07:44
result = approximate(number)你这个函数是没有返回值的,那你还给他赋值,这不是难为人??
嗷嗷嗷少个return感谢感谢 ai自由 发表于 2021-4-15 10:54
嗷嗷嗷少个return感谢感谢
看了 一下缺少返回值 是在哪里缺少啊 def approximate(num):
count = num // 2
while count > 1:
if (num % count) == 0:
print(' %d 的最大约数是 %d' % (num, count))
return count
else:
print(' %d 是素数' % num)
return
number = int(input('请输入需要查询的数字: '))
print(approximate(number))
页:
[1]