学习python,每日练习0601

最大数字第一个元素交换,最小数字和最后一个元素交换

#定义一个数组:
list = [int(i) for i in input('请输入一组数字,用空格隔开: ').split(' ')]
print("未交换前的list:",list)
#数组排序,这样赋值,两个list不会互相影响
newlist = list.copy()
#对newlist进行排序,得到最小和最大值
newlist.sort()
mini = newlist[0]
maxi = newlist[len(newlist)-1]
#得到最小最大值在list中的索引
indexMin = list.index(mini)
indexMax = list.index(maxi)
#最大的元素与第一个交换,最小的元素与最后一个元素交换
list[0],list[indexMax] = list[indexMax],list[0]
list[len(list)-1],list[indexMin] = list[indexMin],list[len(list)-1]
print("交换后的list:",list)

结果:
请输入一组数字,用空格隔开: 12 4 2 67 90 45 5 123 45
未交换前的list: [12, 4, 2, 67, 90, 45, 5, 123, 45]
交换后的list: [123, 4, 45, 67, 90, 45, 5, 12, 2]

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n

知识点

整数变为字符串:str();字符串拼接;去掉最后一个字符str[:-1]

result = ""
def isEven(n):
    global result
    if(n % 2 == 0):
        for i in range(2,n+1):
            if i % 2 == 0:
                result += "1"+"/"+str(i)+"+"
    else:
        for i in range(1,n+1):
            if i %2 !=0:
                result += "1"+"/"+str(i)+"+"
    return result
    
n = int(input("请输入一个数字:"))
s = isEven(n)
s = str(n)+"="+s
print(s[:-1])
结果:
请输入一个数字:9
9=1/1+1/3+1/5+1/7+1/9

题目来源:
https://fishc.com.cn/forum.php?mod=viewthread&tid=84968&ctid=588
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章