最近寫作業時,老師留了一道關於拍七數字游戲的題,“拍7游戲”規則是:一堆人圍成一圈,開始時,任意指定一人說出數字“1”后,一圈人按順時針方向,每人按整數由小到大的順序一人一個地報出后續數字“2”、“3”......,當遇到為“7”的整數倍數字或含“7”的數字時,該念這個數字的人需要拍手一下並喊“跳過”(不能念出這個數字)。應該拍手並喊“跳過”的人,念出了數字,或者該念數字而拍手或喊“跳過”的人為輸,接受懲罰后,游戲重新開始。書寫一個程序,接收用戶的一個整數輸入,輸出從1到這個整數(包含這個整數)間所有應該拍手喊“跳過”的數字。每個數字輸出占一行。
在我嘗試了一天的時間里,編寫了下面這個程序,感覺想法還不錯,分享給大家:
import math
s=int(input())
for i in range(7,s+1):
if i%7!=0:
a=len(str(i+1))
d=i
for j in range(1,a+1):
b=d//pow(10,(a-j))
c=d-b*pow(10,(a-j))
d=c
if b==7:
print(i)
elif i%7==0:
print(i)