python实战训练---基础练习(14)

三数排序

题目 输入3个数a,b,c,按大小顺序输出。

程序分析 同实例005。

raw=[]
for i in range(3):
    x=int(input('int%d: '%(i)))
    raw.append(x)
    
for i in range(len(raw)):
    for j in range(i,len(raw)):
        if raw[i]>raw[j]:
            raw[i],raw[j]=raw[j],raw[i]
print(raw)


raw2=[]
for i in range(3):
    x=int(input('int%d: '%(i)))
    raw2.append(x)
print(sorted(raw2))

交换位置

题目 :
输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

程序分析 无。

li=[3,2,5,7,8,1,5]

li[-1],li[li.index(min(li))]=li[li.index(min(li))],li[-1]

m=li[0]
ind=li.index(max(li))
li[0]=li[ind]
li[ind]=m

print(li)

旋转数列

题目:
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

程序分析 无。

from collections import *
li=[1,2,3,4,5,6,7,8,9]
deq=deque(li,maxlen=len(li))
print(li)
deq.rotate(int(input('rotate:')))
print(list(deq))

报数

题目:
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

程序分析 无。

if __name__ == '__main__':
    nmax = 50
    n = int(input('请输入总人数:'))
    num = []
    for i in range(n):
        num.append(i + 1)
 
    i = 0
    k = 0
    m = 0
 
    while m < n - 1:
        if num[i] != 0 : k += 1
        if k == 3:
            num[i] = 0
            k = 0
            m += 1
        i += 1
        if i == n : i = 0
 
    i = 0
    while num[i] == 0: i += 1
    print(num[i])

字符串长度II

题目:
写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

程序分析 无。

def lenofstr(s):
    return len(s)

print(lenofstr('tanxiaofengsheng'))

猜你喜欢

转载自blog.csdn.net/xdc1812547560/article/details/107702666