打印出 1~1000 之间包含 3 的数字
如果 3 是连在一起的(如 233)则在数字前加上&;
如果这个数字是质数则在数字后加上*,例:(3,13*,23*,&33,43…&233…)。
我写的代码是
for i in range(1001):
data=str(i)
if '33' in data:
for j in range(2,i):
if i%j==0:
print("&"+data)
break
else:
print(data+"")
elif '3' in data:
for k in range(2,i):
if i%k==0:
print(data)
break
else:
print(data+"")
但是是有错误的,问题出在哪里呢

Python输出包含3的数字
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-Plio大咸鱼 2021-10-05 15:04关注
麻烦用代码格式粘贴一下你写的代码,方便调试
示例代码如下:import math def is_prime(number): if number > 1: if number == 2: return True if number % 2 == 0: return False for current in range(3, int(math.sqrt(number) + 1), 2): if number % current == 0: return False return True return False for i in range(1000): j=str(i) if '3' in str(i): if is_prime(i): j=j+'*' if '33' in j: j='&'+j print(j,end=' ')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥20 C语言用栈实现无向图邻接矩阵广度优先遍历
- ¥15 C++代码报错问题,c++20协程
- ¥15 c++图Djikstra算法求最短路径
- ¥15 Linux操作系统中的,管道通信问题
- ¥15 ansible tower 卡住
- ¥15 等间距平面螺旋天线方程式
- ¥15 通过链接访问,显示514或不是私密连接
- ¥100 系统自动弹窗,键盘一接上就会
- ¥50 股票交易系统设计(sql语言)
- ¥15 调制识别中这几个数据集的文献分别是什么?