鱼C论坛

 找回密码
 立即注册
查看: 2949|回复: 19

[已解决]缩进怎么用啊?

[复制链接]
发表于 2022-8-22 10:47:32 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
day = 1
while day<=7:
  anwer == ("今天有好好学习吗?")
if anwer == 有:
  print("你真棒")
     break
  day = day+1
else:
  print("恭喜你完成七天打卡")

老是显示缩进错误,有人可以教我缩进吗?
最佳答案
2022-8-22 11:38:46
本帖最后由 jackz007 于 2022-8-22 15:44 编辑

       Python 用缩进来表达语句归属,相当于其它语言的语句括号,一般属于 if、while、for、try、with、类定义、函数定义等的语句需要缩进,每级缩进一般占用 4 个空格,必须严格遵守、严格对齐,也可以用 TAB 键缩进,但是,同一个代码文件必须一以贯之,不可以 TAB 键与空格键混用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-22 10:57:27 From FishC Mobile | 显示全部楼层
归谁管辖的区块代码都要有统一的缩进
你这缩进太乱了,能不报错吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 10:59:10 | 显示全部楼层
day = 1
while day <= 7: # 下面的都在循环体内, 所以都缩进到 while 里
    answer = input("今天有好好学习吗? ") # 这里接收输入, 用 input , 赋值用 一个等号就行
    # answer 不是 anwer
    if answer == '有': # ans 是 str 类型, 比较时加 '' 或 ""
        print("你真棒") # 如果有就打印这句话, 所以这一行属于第 4 行的 if , 所以缩进到 if 里面
        #break 这里用 break 干什么 , 不用跳出循环
        day += 1

print("恭喜你完成七天打卡") # 这个放在最后
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 10:59:27 | 显示全部楼层
你这代码我看着除了缩进还有错误
day = 1
while day<=7:
    answer = input("今天有好好学习吗?")
    if answer == "有":
        print("你真棒")
        day = day+1
print("恭喜你完成七天打卡")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 11:38:46 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-8-22 15:44 编辑

       Python 用缩进来表达语句归属,相当于其它语言的语句括号,一般属于 if、while、for、try、with、类定义、函数定义等的语句需要缩进,每级缩进一般占用 4 个空格,必须严格遵守、严格对齐,也可以用 TAB 键缩进,但是,同一个代码文件必须一以贯之,不可以 TAB 键与空格键混用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 15:41:36 From FishC Mobile | 显示全部楼层
缩进还是比较简单的,只要你明白代码逻辑,缩进一般不会出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 16:35:06 | 显示全部楼层
根据逻辑使用缩进,我看你的代码像是用空格缩进的,建议使用Tab键,返回缩进是shift+tab。另代码逻辑有误。input和if 使用错误
day = 1
while day<=7:
    
    anwer = input("今天有好好学习吗?")
    if anwer == '有':
        print("你真棒")       
        day = day+1
    
print("恭喜你完成七天打卡")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 17:44:05 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-23 14:47:55 | 显示全部楼层
缩进在python很重要。对于代码缩进,必须注意以下几点:
1.该缩进的必须缩进,不该缩进的不能缩进(比如while True:后面必须缩进)
2.每个制表符(缩进)的宽必须相同,你的代码break那点缩进宽一会2格,一会3格,4行也是的缩进应和3行的缩进相同,这个就是报错的原因
3.缩进长度建议为4格或8格
代码还有几个问题:
1.3行应该为 anwer = input("今天有好好学习吗?“)
2.逻辑问题:如果输入有,那么直接break了,但如果输入没有或别的,就打印”恭喜你……“
代码应这么改:
day = 1
while day<=7:
    anwer = input("今天有好好学习吗?")
    if anwer == 有:
        print("你真棒")
        day = day+1
        continue
    if day == 7:
        print("恭喜你完成七天打卡")
        break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-23 22:32:07 | 显示全部楼层
太乱了

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

使用道具 举报

发表于 2022-8-24 10:09:01 | 显示全部楼层
1个缩进4个空格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-24 10:12:25 | 显示全部楼层
当出现末尾为
:
的时候
例如:
for i in range(10):|
Python会自动给你缩进
for i in range(10):
    |
注:| 代表鼠标的位置
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 11:47:41 From FishC Mobile | 显示全部楼层
可以使用快捷键方式,ctrlt+alt+L大小写都可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 14:55:38 | 显示全部楼层
本帖最后由 Jason茗 于 2022-8-25 15:01 编辑

是这样的,只有一段代码是另一段代码的子代码时才需要用缩进,缩进可以代表附属关系,比如if下的print和break就没有附属关系,所以它们应该是并列的,而不是break比print多一个缩进。同理,if和else是需要用while重复循环的,所以它们应该比while多一个缩进,同时,if和else的子代码也要跟着全都多一个缩进。恕我多嘴,除了缩进,你这个代码是有问题的:
  anwer == ("今天有好好学习吗?")
  if anwer == 有:

首先,==代表判断是否等于,相当于我们平时用的=,看你这里是想把"今天有好好学习吗?"赋值给anwer,所以==要换成=,在python中,==是等于,=是赋值。
其次,这个if条件永远不可能达成,因为anwer是等于"今天有好好学习吗?"的,你又让它判断是不是等于"有",很明显"今天有好好学习吗?"是不可能等于"有"的。根据我的判断,你是想问用户这个问题,然后得到回答,所以应该把anwer == ("今天有好好学习吗?")改成:
anwer = input("今天有好好学习吗?")
input是用于获取输入的,括号里的参数是用于提醒输入的。
还有,按照你这个程序的逻辑,只要没回答“有”就完成打卡了,那我要是天天回答"没有",那岂不是陷入死循环了,而且每次都回答完成打卡了,所以,应该把else下的提示语改为"继续努力吧!"之类的提示语,然后在和while并列的下方放一个输出完成打卡的,我给你看看我改的代码,你试一试:
day = 1
while day<=7:
  anwer == ("今天有好好学习吗?")
  if anwer == 有:
    print("你真棒")
    break
    day = day+1
  else:
    print("继续努力吧!")
print("恭喜你完成七天打卡")

看看这回行不行,如果还不行,那就把一个缩进改为四格。
看在我这么努力的份上,可不可以把我的回复作为你这个贴子的最佳回复呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 14:56:30 | 显示全部楼层

在有些运行环境下,一个缩进两个空格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 14:57:15 | 显示全部楼层
Jason茗 发表于 2022-8-25 14:56
在有些运行环境下,一个缩进两个空格

错的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 15:05:37 | 显示全部楼层

我好像在哪里看见过,但是忘了在哪看见的,不过4个空格的缩进的确是最常见的,这点我不反对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 17:56:01 | 显示全部楼层
Jason茗 发表于 2022-8-25 15:05
我好像在哪里看见过,但是忘了在哪看见的,不过4个空格的缩进的确是最常见的,这点我不反对

因该是其他语言的(我只学过Python)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 18:45:07 | 显示全部楼层
hveagle 发表于 2022-8-25 17:56
因该是其他语言的(我只学过Python)

我也只学过python,我只是记得好像看见过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-25 20:40:32 | 显示全部楼层
都是大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 14:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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