青木绘里 2021-10-05 15:03 采纳率: 100%
浏览 331
已结题

Python输出包含3的数字

打印出 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+"
")
但是是有错误的,问题出在哪里呢

  • 写回答

3条回答 默认 最新

  • 关注

    麻烦用代码格式粘贴一下你写的代码,方便调试
    示例代码如下:

    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=' ')
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 创建了问题 10月5日

悬赏问题

  • ¥15 (标签-matlab)
  • ¥15 手机添加cocks5协议没网络
  • ¥30 实验 :UML2.0 行为建模
  • ¥15 设计一种优化调度算法并结合论文中的案例给出调度计划
  • ¥15 py文件打包exe报错TypeError:expected str,bytes or os.PathLike object,not_io.BytesIO
  • ¥15 Java编写学籍信息管理系统
  • ¥15 IPXE网刻客户机找不到服务端
  • ¥15 小贝360-4 配二个 华772S 设置WⅰFi5G 连接
  • ¥15 vs2022的QT报错,好像是缺少winextras
  • ¥15 怎么看 cst中一个面的功率分布图