会飞的鱼bf 发表于 2021-7-28 09:41:13

python 萌新求大佬帮助

x_1=int(input("The first no:"))
x_2=int(input("The second no:"))
x_3=int(input("The third no:"))
list=[]
for i in range(3):
    list.append(f"{'x'+'_'+str(i)}")
print(list.sort())

对输入的三个数排序,有大佬解释一下为啥输出为None么,加进去的都是字符串名称,而不是字符串的值

z5560636 发表于 2021-7-28 09:44:42

本帖最后由 z5560636 于 2021-7-28 10:02 编辑


x_1=int(input("The first no:"))
x_2=int(input("The second no:"))
x_3=int(input("The third no:"))
list=[]
for i in range(3):   # 此处的i值为0, 1, 2
    list.append(f"{'x'+'_'+str(i)}") # 此处的list.append 添加的值为 :('x'+'_' + str(i)) 把i的值带入得到结果   x_0,x_1,x_2    但是:你此处的是f"{'字符串'}",而非变量名字。
print(list.sort())

逃兵 发表于 2021-7-28 09:45:45

本帖最后由 逃兵 于 2021-7-28 09:48 编辑

list.sort()改变的是列表本身,会返回None
你分开写就行

x_1=int(input("The first no:"))
x_2=int(input("The second no:"))
x_3=int(input("The third no:"))
lst=[]
for i in range(1,4):
    lst.append(eval(f"{'x'+'_'+str(i)}"))
lst.sort()
print(lst)

会飞的鱼bf 发表于 2021-7-28 09:53:11

逃兵 发表于 2021-7-28 09:45
list.sort()改变的是列表本身,会返回None
你分开写就行

感谢{:5_109:}
页: [1]
查看完整版本: python 萌新求大佬帮助