鱼C论坛

 找回密码
 立即注册
查看: 1923|回复: 3

写的东西跑不起来,好像是缩进问题

[复制链接]
发表于 2020-9-23 13:25:30 | 显示全部楼层 |阅读模式

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

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

x
但是我认真把缩进都对齐了,还是会报错 ,求助

代码:
import random
from fractions import Fraction

password = 'Y'

while password == 'Y':
    while True:
        son = random.randint(1,30)
        if son % 3 == 0:
            continue
        print(Fraction(son,3),end=' ')
            break
    while True:
        son = random.randint(1,30)
        if son % 4 == 0:
            continue
        print(Fraction(son,4)end=' ')
            break
    while True:
        son = random.randint(1,30)
        if son % 6 == 0:
            continue
        print(Fraction(son,6))
            break
    while True:
        password = input('continue?(Y/N)')
        if password != 'N' and password != 'Y':
            print('please print Y or N!!')
            continue

print('end')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-23 13:32:56 | 显示全部楼层
你写的是想要实现怎么样?这里面,又有contine又有break?pirnt下面怎么又缩进了?
while True:
        son = random.randint(1,30)
        if son % 3 == 0:
            continue
        print(Fraction(son,3),end=' ')
            break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-23 13:34:44 From FishC Mobile | 显示全部楼层
你的代码逻辑有问题,得不出结果,我只改了报错的地方
# -*- coding: utf-8 -*-

import random
from fractions import Fraction

password = 'Y'

while password == 'Y':
    while True:
        son = random.randint(1,30)
        if son % 3 == 0:
            continue
        print(Fraction(son,3),end=' ')
        break    # 这里break应与print齐平,因为他们没有从属关系,以下同理
    while True:
        son = random.randint(1,30)
        if son % 4 == 0:
            continue
        print(Fraction(son,4), end=' ') #这里end前面缺个逗号
        break
    while True:
        son = random.randint(1,30)
        if son % 6 == 0:
            continue
        print(Fraction(son,6))
        break
    while True:
        password = input('continue?(Y/N)')
        if password != 'N' and password != 'Y':
            print('please print Y or N!!')
            continue

print('end')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-23 14:24:22 | 显示全部楼层
import random
from fractions import Fraction

f = True
while f :
    while True:
        son = random . randint(1 , 30)
        if son % 3 :
            print(Fraction(son , 3) , end = ' ')
            break
    while True:
        son = random . randint(1 , 30)
        if son % 4 :
            print(Fraction(son , 4) , end = ' ')
            break
    while True:
        son = random . randint(1 , 30)
        if son % 6 :
            print(Fraction(son , 6))
            break
    while True:
        password = input('continue?(Y/N)') . strip()
        if password : 
            if password in ('Y' , 'y' , 'N' , 'n') :
                if password not in ('Y' , 'y') :
                    f = False
                break
            else :
                print('please print Y or N!!')
        else :
            f = False
            break
print('end')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 15:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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