编程实现:
打印出 1~1000 之间包含 3 的数字;
如果 3 是连在一起的(如 233)则在数字前加上&;
如果这个数字是质数则在数字后加上*,例:(3*,13*,23*,30,31*,32,&33,34…&233*…)。
输入:
无
输出:
按照题意输出的数字,每行一个数字;
样例输出:
3*
13*
23*
30
31*
32
&33
……
for i in range(1,1001): #确定i范围0到1000
b=True #定义一个bool类型变量b
if '3' in str(i): #将i转换成字符串类型,用if语句判断i中是否含有3
for j in range(2,i-1): #j范围从2到i-1,为了判断i是否为质数
if i%j==0: #如果i除以j余数为零则不是质数
b=False #不是质数所以b为False
if b==True: #当b是True是,说明i为质数
i=str(i)+"*" #是质数加上*
if '33' in str(i): #判断是否有连在一起的3
i="&"+str(i) #加上&
print(i) #输出i