CCF-python练习题(1):报数

CCF-python练习题(1):报数

  • 1、题目
  • 2、解题思路
  • 3、python实现
  • 4、学习点

1、题目

CCF-python练习题(1):报数_第1张图片
CCF-python练习题(1):报数_第2张图片
CCF-python练习题(1):报数_第3张图片

2、解题思路

跳过分两种情况:
(1)被7整除:

i%7 == 0

(2)含有数字7:

'7' in str(i)

3、python实现

def baoshu():
    shu = int(input())
    i = 1 #表示总数
    count = 1 #表示报数
    people = [0,0,0,0] #甲乙丙丁
    while(count<=shu):
    #优先级:not>and>or,同级从左到右
        if(i%7 == 0 or '7' in str(i)): #/是表示除法;//表示整除;%表示取余
            people[i%4-1] += 1 #谁跳过谁+1
        else:
            count += 1
        i = i + 1
    for j in people:
        print(j)

if __name__ == '__main__':
    baoshu()


4、学习点

(1)'7' in str(i) 可以直接把整数变为字符串然后查找是否有需要的字符,不需要像C++一样分情况分解。
(2) for j in people:print(j) 分行输出

你可能感兴趣的:(CCF-python练习题(1):报数)