m0_74108201 2022-10-06 11:26 采纳率: 100%
浏览 36
已结题

python如何编程

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

  • 写回答

2条回答 默认 最新

  • a5156520 2022-10-06 13:25
    关注

    思路比较简单:
    第一题用循环从输入获取值到一个列表,然后结束条件就用判断输入的是否是'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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月14日
  • 已采纳回答 10月6日
  • 创建了问题 10月6日

悬赏问题

  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了