运行出现的错误 !!!
问:
#numberlist=numberlist.append(num)为什么会报错?
#eg:numberlist=numberlist.sort()为什么会报错?
sort()和append()返回值都是None
Python中的一些操作返回`None`是因为它们主要用于执行副作用或修改数据,而不是产生一个新的值。这些操作通常是用于改变现有的数据结构或执行某些操作,而不是为了获取新的结果。
例如,`list.sort()`方法用于对列表进行排序,它直接修改了原始列表的顺序,而不会创建一个新的排序后的列表。因此,`list.sort()`返回`None`,因为它的主要目的是修改列表,而不是返回一个新的有序列表。
通常情况下,当你需要将操作的结果存储在一个新的变量中时,你会使用返回一个值的函数或方法,而不是返回`None`的操作。这样,你可以在需要时使用新的值。但对于那些执行副作用的操作,通常不需要分配给新变量,因为它们主要用于在原始数据上进行修改。
正确的代码形式:
#在指定范围内生成指定数量的
#随机有序数字。
import random
def random_number(a,b,n):
numberlist=[]
for i in range(1,n+1):#循环n次,指定数量为随机数n个
num=random.randint(a,b)#指定范围为(a,b)的,随机的数
numberlist.append(num)
#eg:numberlist=numberlist.append(num)为什么会报错
#因为append()返回 None,因此无需将其分配给 numberlist
numberlist.sort()
return numberlist
start,end,x=map(int,input("请输入开始位置,结束位置,和循环次数:").split())
print(random_number(start,end,x))