python如何编程

•1.请输入需要排序的数列,按’e'键结束
• 2.从小到大请输入0,从大到小请输入1,输出排序结果
•3.请输入需要交换的第一个位置、请输入需要交換的第二个位置
输出结果

思路比较简单:
第一题用循环从输入获取值到一个列表,然后结束条件就用判断输入的是否是'e'即可。

第二题,从输入获取排序方式,然后用两个函数定义从大到小排序和从小到大排序列表,然后根据输入的值来判断你现在那种排序即可

第三题,从输入获取要交换的两个位置,然后一个函数来交换列表这两个位置的值即可。代码如下:

参考链接:
Python基础详解之列表复制_Python_脚本之家

def sortSmall(nums): #从小到大排序
    
    for i in range(0,len(nums)):
        
        for j in  range (i,len(nums)):
            
            if nums[i]>nums[j]:
                temp = nums[i]
                nums[i] = nums[j]
                nums[j] = temp

def sortBig(nums):  #从大到小排序
    
    for i in range(0,len(nums)):
        
        for j in range (i,len(nums)):
            
            if nums[i]<nums[j]:
                temp = nums[i]
                nums[i] = nums[j]
                nums[j] = temp
                

def sortTwoNum(nums,first,second):  #交换两个位置的值
            
    temp = nums[first]
    nums[first] = nums[second]
    nums[second] = temp


          
#第一题
nums=[]
str = input("请输入需要排序的数列,按'e'结束:")
while str!='e':
    nums.append(int(str))
    str = input("请输入需要排序的数列,按'e'结束:")
#http://www.zzvips.com/article/197790.html    
tnums = nums[:]

#第二题
choice = input("请输入排序的方式,输入0为从小到大排序,输入1为从大到小排序")    
choice = int(choice)
if choice == 0:
    sortSmall(nums)
    print(nums)
elif choice == 1:
    sortBig(nums)
    print(nums)


#第三题 如
first = int(input("请输入要交换的第一个位置:"))   
second = int(input("请输入要交换的第一二个位置:"))  
if first < 0 or first >=len(nums) or second < 0 or second >=len(nums):
    print("输入的位置错误")    
else :
#果是要交换原输入的数列,则用sortTwoNum(tnums,first,second),如果是交换排序后的数列,则用sortTwoNum(nums,first,second)
    sortTwoNum(tnums,first,second)
    print(tnums)
 

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7557952
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:python异常处理
  • 除此之外, 这篇博客: python实验——第一次中的 编写函数:输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    lstA = eval(input("请输入一个列表:"));
    lstB=sorted(lstA,reverse=True);
    print(lstB);
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^