0
点赞
收藏
分享

微信扫一扫

python实例 69,70

萧萧雨潇潇 2022-01-08 阅读 112

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

先看一下第一种实现方式

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])

返回

第二种实现方式

n=int(input("输入人数:"))
List=[]
for i in range(1,n+1):
    List.append(i)

sum=0
while 1:
    t=0;
    for i in range(1,len(List)+1):
        sum=sum+1
        if (sum)%3==0:
            List.pop(i-1-t)
            t=t+1

    if len(List)==1:
        print("最后留下的是原来第%d号的那位" % List[0])
        break

返回:

 70.题目:求取字符串的长度

#70
s = input('请输入一个字符串:\n')
print ('该字符串长度为 %d' % len(s))

返回:

举报

相关推荐

0 条评论