分享一些Python学习题目
实例066:三数排序
题目: 输入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))
实例067:交换位置
题目: 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
程序分析: 无。
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)
实例068:旋转数列
题目: 有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))
实例069:报数
题目: 有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])
实例070:字符串长度II
题目: 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
程序分析: 无。
def lenofstr(s):
return len(s)
print(lenofstr('tanxiaofengsheng'))