Python 练习实例69

Python 编程100例Python 编程100例

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

程序分析:无。

程序源代码:

实例(Python 2.0+):

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
if __name__ == '__main__':
    nmax = 50
    n = int(raw_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]

执行以上代码,输出结果:

$ python test.py 
请输入总人数:34
10

Python 编程100例Python 编程100例

下一章:Python 练习实例70

Python 练习实例70 Python 100例 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 程序分析:无。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == '__main__': s = raw_input('please input a string:\n'..