def josephus(n,k):
#n代表总人数,k代表报数的数字
List = list(range(1,n+1))
index = 0
while List:
temp = List.pop(0)
index += 1
if index == k:
index = 0
continue
List.append(temp)
if len(List)==2:
print(List)
break
n = int(input("请输入总人数:"))
k = int(input("请输入所报数:"))
josephus(n,k)
0x01 秒表功能
import time
print('按下回车开始计时,按下 Ctrl + C 停止计时。')
while True:
input("")
starttime = time.time()
print('开始')
try:
while True:
print(round(time.time() - starttime, 0), '秒', end="\n")
time.sleep(1)
except KeyboardInterrupt:
print('结束')
endtime = time.time()
print('总共的时间为:', round(endtime - starttime, 2),'secs')
break
0x02 n个自然数的立方和
def sumThree(n):
sum = 0
for i in range(1,n+1):
sum += i*i*i
return sum
while True:
try:
n = int(input("请输入n的值:"))
print(sumThree(n))
break
except ValueError:
print("输入错误,请检查输入!")
0x03 数组元素求和
def _sum(arr,n):
return(sum(arr))
while True:
try:
n = int(input("请输入数组的元素个数:"))
list = []
for i in range (1,n+1):
num = int(input("请输入第%d个数:" % i))
list.append(num)
l = len(list)
total = _sum(list,l)
print("数组元素之和为",total)
break
except ValueError:
print("输入有误,请检查输入!")
0x04 翻转数组
def leftRotate(arr, d, n):
for i in range(d):
leftRotatebyOne(arr, n)
def leftRotatebyOne(arr, n):
temp = arr[0]
for i in range(n-1):
arr[i] = arr[i+1]
arr[n-1] = temp
while True:
try:
n = int(input("请输入数组的元素个数:"))
arr = []
for i in range (1,n+1):
num = int(input("请输入第%d个数:" % i))
arr.append(num)
d = int(input("请输入要翻转的元素个数:"))
print("初始数组为:",arr)
leftRotate(arr,d,n)
print("翻转数组为:",arr)
break
except ValueError:
print("输入有误,请检查输入!")
0x05 列表头尾对调
def swapList(list):
list[0],list[-1] = list[-1],list[0]
return list
while True:
try:
n = int(input("请输入列表的元素个数:"))
list = []
for i in range (1,n+1):
num = int(input("请输入第%d个数:" % i))
list.append(num)
print("对调前列表为:",list)
swapList(list)
print("对调后列表为:",list)
break
except ValueError:
print("输入有误,请检查输入!")
0x06 判断列表元素是否存在
test_list = [ 1, 6, 3, 5, 3, 4 ]
print("查看 4 是否在列表中 ( 使用循环 ) : ")
for i in test_list:
if(i == 4) :
print ("存在")
print("查看 4 是否在列表中 ( 使用 in 关键字 ) : ")
if (4 in test_list):
print ("存在")
def countX(list, x):
return list.count(x)
while True:
try:
n = int(input("请输入数组的元素个数:"))
list = []
for i in range (1,n+1):
num = int(input("请输入第%d个数:" % i))
list.append(num)
x = int(input("请输入需要查询的数字:"))
print(x,"出现的次数为:",countX(list,x))
break
except ValueError:
print("输入有误,请检查输入!")