鱼C论坛

 找回密码
 立即注册
查看: 2731|回复: 1

[已解决]输出 1~100 之间不能被 7 整除的数, 每行输出 10 个数字, 要求应用字符 串格式...

[复制链接]
发表于 2023-4-4 16:30:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
j=0
for i in range(1, 101):  #循环
    if i % 7 == 0: #如果能整除7,则再执行循环
        continue
    elif:    #如果大于0并且不能被7整除,输出;
        print("{:3d}".format(i), end=' ')  #??????????????希望大佬解释一下这一步
        j += 1   #j用来控制每行输出是否是10个
        if j % 10 == 0:
            print('\n')
            j = 0
    else:
         continue;

最后代码无法运行,elif那一步出错了,请问是哪里错了呢?
最佳答案
2023-4-4 16:36:01
代码中的错误是在elif语句那里。elif后面需要跟一个条件,

但是在你的代码中,elif后面没有条件。因为这里其实不需要elif,你可以使用else语句替换掉它。下面是修改后的代码:
j = 0
for i in range(1, 101):  # 循环
    if i % 7 == 0:  # 如果能整除7,则再执行循环
        continue
    else:  # 如果不能被7整除,输出;
        print("{:3d}".format(i), end=' ')  # 使用格式化字符串,将数字按照三位数的宽度输出,并用空格作为分隔符
        j += 1  # j用来控制每行输出是否是10个
        if j % 10 == 0:
            print('\n')
            j = 0

关于"{:3d}".format(i)的解释:这是字符串格式化的方法,{:3d}表示一个占位符,其中的3表示宽度为3个字符,

d表示输出的是一个整数。.format(i)会将占位符替换为变量i的值。end=' '表示每次输出一个数字后,不换行,而是用一个空格分隔。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-4 16:36:01 | 显示全部楼层    本楼为最佳答案   
代码中的错误是在elif语句那里。elif后面需要跟一个条件,

但是在你的代码中,elif后面没有条件。因为这里其实不需要elif,你可以使用else语句替换掉它。下面是修改后的代码:
j = 0
for i in range(1, 101):  # 循环
    if i % 7 == 0:  # 如果能整除7,则再执行循环
        continue
    else:  # 如果不能被7整除,输出;
        print("{:3d}".format(i), end=' ')  # 使用格式化字符串,将数字按照三位数的宽度输出,并用空格作为分隔符
        j += 1  # j用来控制每行输出是否是10个
        if j % 10 == 0:
            print('\n')
            j = 0

关于"{:3d}".format(i)的解释:这是字符串格式化的方法,{:3d}表示一个占位符,其中的3表示宽度为3个字符,

d表示输出的是一个整数。.format(i)会将占位符替换为变量i的值。end=' '表示每次输出一个数字后,不换行,而是用一个空格分隔。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 01:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表