| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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那一步出错了,请问是哪里错了呢?
代码中的错误是在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=' '表示每次输出一个数字后,不换行,而是用一个空格分隔。 
 
 
 |   
 
 
 
 |