谁能解决这个python难题?

怎么也搞不好
代码:

# coding:utf-8
number=['1','2','3','4','5','6','7']
lennum=len(number)
num=input('请猜一个数字')
if num>=lennum:
    print('太大了!')
elif num<=lennum:
    print('太小了!')
else:
    print('恭喜你猜对了!')

报错:

Traceback (most recent call last):
  File "D:\XXXXXXXX\XXXXXX\XX\XXXXX\XX.py", line 5, in <module>
    if num>=lennum:
TypeError: '>=' not supported between instances of 'str' and 'int'

谁能解决一下?

# coding:utf-8
number=['1','2','3','4','5','6','7']
lennum=len(number) #这里最好是取一个随机数,而不是长度,否则没有猜的意义了
num=int(input('请猜一个数字')) #加一个转换就可以了。
if num>=lennum:
    print('太大了!')
elif num<=lennum:
    print('太小了!')
else:
    print('恭喜你猜对了!')

input输入的时str字符串类型的数据,你需要使用int(num)转换成数字类型,还有,你的number里面的数字也都是字符串类型,如果要比较大小,去掉引号比较好,然后,你的lennum是获取到number的列表长度,不是列表里的数字哟,你的猜字是想猜人输入的数字跟默认的那个列表的长度是否相等么,就算你要他们相等就打印猜对了那句话,你这个也是不行的,因为你的判断条件里已经包含等==了呢,最后处理完异常,返回的也只有可能是太大或者太小,相等的时候会返回太大了

把两个变量的格式强制转换一下再比较,比如int(num)>=int(lennum)

if num>=lennum:
print('太大了!')
elif num<=lennum:
print('太小了!')

这两行判断语句也有问题啊,大于等于和小于等于都被写了,哪里还有else什么事情?