鱼C论坛

 找回密码
 立即注册
查看: 121|回复: 2

求解哪里错了

[复制链接]
发表于 2024-10-15 22:47:39 | 显示全部楼层 |阅读模式

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

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

x

import time
from timeit import main

def lovestory():

    for i in range(1, 52):

         print(' ' * (51 - i), end='')

         for j in range(1, 2 * i):

             print('*', end='')

             time.sleep(0.005)

         print()

    for i in range(51, 0, -1):

         print(' ' * (51 - i), end='')

         for j in range(1, 2 * i):

             print('*', end='')

             time.sleep(0.005)

             print()

    if __name__ == '__main__':

        lovestory()
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>


int main(int argc,char *argv[]){
    float x,y,a;
     for(y=1.5;y>-1.5;y-=0.1){
        for(x=-1.5;x<1.5;x+=0.05){
            a=x*x+y*y-1;
            putchar(a*a*a-x*x*y*y*y<=0.0?'*':' ');
         }
         system("color 0c");
         putchar('\n');
        }
     printf("");
     printf("\n");
     return 0;
}


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

使用道具 举报

发表于 2024-10-15 22:47:54 | 显示全部楼层
你的Python代码出现了几处错误和结构问题,以下是针对这些问题的建议:

1. **缩进问题**:Python 对缩进非常敏感。你的 `if __name__ == '__main__': lovestory()` 这一部分缩进位置不正确,它应该与函数 `lovestory()` 平齐,因为这是一个模块的运行入口。

    修正代码:
  
import time

    def lovestory():
        for i in range(1, 52):
            print(' ' * (51 - i), end='')
            for j in range(1, 2 * i):
                print('*', end='')
                time.sleep(0.005)
            print()

        for i in range(51, 0, -1):
            print(' ' * (51 - i), end='')
            for j in range(1, 2 * i):
                print('*', end='')
                time.sleep(0.005)
            print()

    if __name__ == '__main__':
        lovestory()

2. **去掉不相关的内容**:你的代码里面含有 C 语言代码的片段,这可能是从其他地方粘贴过来的,建议将其删除,以免混淆。

如果这些问题解决后仍有问题,请检查你的运行环境是否与 Python 脚本相匹配,确保一切正常。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-18 19:19:20 | 显示全部楼层
主要是一些缩进问题。其次,如果 print 后跟有 time.sleep,需要传入 flush=True 的参数,保证每次输出的内容能及时更新到屏幕上(刷新缓冲区),避免被 sleep 阻断。最后,请保证有一个足够宽的输出窗口,避免一行输出不开引起换行。
修改后如下:
import time
from timeit import main #该模块没有用到,可以删除

def lovestory():
    for i in range(1, 52):
        print(' ' * (51 - i), end='')
        for j in range(1, 2 * i):
            print('*', end='',flush=True)
            time.sleep(0.005)
        print()

    for i in range(51, 0, -1):
        print(' ' * (51 - i), end='')
        for j in range(1, 2 * i):
            print('*', end='',flush=True)
            time.sleep(0.005)
        print()

if __name__ == '__main__':
    lovestory()

在原来这段代码的下面还有一段 C 语言代码,它是不能包含在 python 代码里面的。你可以尝试用 C 语言的编译器编译并执行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 19:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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