python函数的调用问题

img


import random
m=int(input('请输入下限:'))
n=int(input('请输入上限:'))
x=int(input('请输入次数:'))
def guessgame(m,n,x):
num=random.randint(n,m,x)
i=0
while(i<x):
try:
a=int(input("请输入一个数字:"))
raise ValueError
except ValueError:
print('输入的不是数字,请重新输入')
continue
i+=1
if a<num:
print('猜小了')
elif a>num:
print('猜大了')
else:
print('恭喜你猜对了, 数字是{}'.format(a))
break
if i==x:
print("次数超过{}次,失败",x)

print(guessgame(m,n,x))

请问为什么这个函数不能被调用,改怎么修改

import random


m = int(input('请输入下限:'))
n = int(input('请输入上限:'))
x = int(input('请输入次数:'))


def guessgame(m, n, x):
    num = random.randint(m, n)
    i = 0
    while(i < x):
        try:
            a = int(input("请输入一个数字:"))
        except ValueError:
            print('输入的不是数字,请重新输入')
            continue
        i += 1
        if a < num:
            print('猜小了,应该是:', num)
        elif a > num:
            print('猜大了,应该是:', num)
        else:
            print('恭喜你猜对了, 数字是{}'.format(a))
            break
        if i == x:
            print("次数超过{}次,失败", x)


guessgame(m, n, x)


random.randint()只能接收两个参数,表示随机数的范围,从m到n,从小到大。
所以应该是random.randint(m,n),把k去掉,还要调整顺序

你的函数结构有问题