Mta123456 发表于 2023-1-30 08:51:01

导入模块出错

附上图片:
谁能解释一下这是为什么?
这个问题困扰了我1天

zsy0226 发表于 2023-1-30 08:51:02

import sys
import random as rd
import time

person = {}#储存用户信息
side = width, high = 120, 100#边界长度

class BigFish:#定义一个大鱼类
    def __init__(self):
      self.width = rd.randint(0,120)
      self.high = rd.randint(0,100)
      
    def move(self):
      pass
      
      
class SmallFish:#定义一个小鱼类
    pass

while True:
    beginning = input("""|---1.注册用户---|
|---2.登录用户---|
|---3.退出程序---|
|---请输入指定代码(1、2或3):""")#初始化界面
                     
                     
    if beginning == '1':#当输入1的时候
      name = input("请输入您要注册的账号:")
      if name in person:
            print("用户已经存在!")
      else:
            passwd = input("请输入该账号对应的密码:")
            passwd2 = input("请再次输入密码:")
            if passwd != passwd2:
                passwd2 = input("输入错误,请重新输入:")
            else:
                person = passwd
                print("注册成功,快登录试试吧^_^\n")

    elif beginning == '2':#当输入2的时候
      the_name = input("请输入账号(输入3返回初始界面):")
      
      if the_name == '3':
            print('\n')
            pass
      
      elif the_name not in person:#判断用户名是否存在
            print("用户名不存在!\n")

      else:
            the_passwd = input("请输入密码:")
            if person == the_passwd:
                print("登录成功,游戏开始!\n")
                for i in range(3):
                      time.sleep(1)
                      print(f'{3-i}秒后开始游戏!')
            else:
                print("用户名或密码错误!")

    elif beginning == '3':#当输入3的时候
      print("感谢使用本程序!")
      sys.exit()
    else:#当输入不为1,2,3的时候
      print("非正常指令!")

isdkz 发表于 2023-1-30 09:22:44

检查一下第六行是不是用了中文逗号

Mta123456 发表于 2023-1-30 09:28:25

isdkz 发表于 2023-1-30 09:22
检查一下第六行是不是用了中文逗号

我把这些代码原原本本的复制了一遍到pycharm上,结果没有报错

Mta123456 发表于 2023-1-30 09:29:16

isdkz 发表于 2023-1-30 09:22
检查一下第六行是不是用了中文逗号

不会,第六行是我在刚开始的时候就写了,试运行的时候一直没有报错

suchocolate 发表于 2023-1-30 09:30:14

提示有异常字符,避免使用不统一的缩进或中文符号。
如果可以最好用pycharm或vscode写代码,这些简单的拼写问题,会提示你并提供纠正方法。

isdkz 发表于 2023-1-30 09:30:45

Mta123456 发表于 2023-1-30 09:29
不会,第六行是我在刚开始的时候就写了,试运行的时候一直没有报错

那这样看也看不出什么问题,最好把代码放上来

Mta123456 发表于 2023-1-30 09:35:15

本帖最后由 Mta123456 于 2023-1-30 09:40 编辑

isdkz 发表于 2023-1-30 09:30
那这样看也看不出什么问题,最好把代码放上来

import sys
import random as rd
import time

person = {}#储存用户信息
side = width, high = 120, 100#边界长度

class BigFish:#定义一个大鱼类
    def __init__(self):
      self.width = rd.randint(0,120)
      self.high = rd.randint(0,100)
      
    def move(self):
      pass
      
      
class SmallFish:#定义一个小鱼类
    pass

while True:
    beginning = input("""|---1.注册用户---|
|---2.登录用户---|
|---3.退出程序---|
|---请输入指定代码(1、2或3):""")#初始化界面
                     
                     
    if beginning == '1':#当输入1的时候
      name = input("请输入您要注册的账号:")
      if name in person:
            print("用户已经存在!")
      else:
            passwd = input("请输入该账号对应的密码:")
            passwd2 = input("请再次输入密码:")
            if passwd != passwd2:
                passwd2 = input("输入错误,请重新输入:")
            else:
                person = passwd
                print("注册成功,快登录试试吧^_^\n")

    elif beginning == '2':#当输入2的时候
      the_name = input("请输入账号(输入3返回初始界面):")
      
      if the_name == '3':
            print('\n')
            pass
      
      elif the_name not in person:#判断用户名是否存在
            print("用户名不存在!\n")

      else:
            the_passwd = input("请输入密码:")
            if person == the_passwd:
                print("登录成功,游戏开始!\n")
               for i in range(3):
                      time.sleep(1)
                      print(f'{3-i秒后开始游戏!}')
            else:
                print("用户名或密码错误!")

    elif beginning == '3':#当输入3的时候
      print("感谢使用本程序!")
      sys.exit()
    else:#当输入不为1,2,3的时候
      print("非正常指令!")

还没有编写完成。IDIE会报错但pycharm不会

Mta123456 发表于 2023-1-30 09:40:22

{:10_261:}{:10_261:}{:10_261:}

isdkz 发表于 2023-1-30 10:04:19

Mta123456 发表于 2023-1-30 09:35
还没有编写完成。IDIE会报错但pycharm不会

import sys
import random as rd
import time

person = {}#储存用户信息
side = width, high = 120, 100#边界长度

class BigFish:#定义一个大鱼类
    def __init__(self):
      self.width = rd.randint(0,120)
      self.high = rd.randint(0,100)
      
    def move(self):
      pass
      
      
class SmallFish:#定义一个小鱼类
    pass

while True:
    beginning = input("""|---1.注册用户---|
|---2.登录用户---|
|---3.退出程序---|
|---请输入指定代码(1、2或3):""")#初始化界面
                     
                     
    if beginning == '1':#当输入1的时候
      name = input("请输入您要注册的账号:")
      if name in person:
            print("用户已经存在!")
      else:
            passwd = input("请输入该账号对应的密码:")
            passwd2 = input("请再次输入密码:")
            if passwd != passwd2:
                passwd2 = input("输入错误,请重新输入:")
            else:
                person = passwd
                print("注册成功,快登录试试吧^_^\n")

    elif beginning == '2':#当输入2的时候
      the_name = input("请输入账号(输入3返回初始界面):")
      
      if the_name == '3':
            print('\n')
            pass
      
      elif the_name not in person:#判断用户名是否存在
            print("用户名不存在!\n")

      else:
            the_passwd = input("请输入密码:")
            if person == the_passwd:
                print("登录成功,游戏开始!\n")
                for i in range(3):
                      time.sleep(1)
                      print(f'{3-i}秒后开始游戏!')
            else:
                print("用户名或密码错误!")

    elif beginning == '3':#当输入3的时候
      print("感谢使用本程序!")
      sys.exit()
    else:#当输入不为1,2,3的时候
      print("非正常指令!")

Mta123456 发表于 2023-1-30 10:21:07

isdkz 发表于 2023-1-30 10:04


照样在sys那里报错

Mta123456 发表于 2023-1-30 10:22:27

Mta123456 发表于 2023-1-30 10:21
照样在sys那里报错

无效的字符串类型

isdkz 发表于 2023-1-30 10:25:01

Mta123456 发表于 2023-1-30 10:21
照样在sys那里报错

你那个idle是哪个版本的python?

chinajz 发表于 2023-1-30 12:40:27

rosoft/WindowsApps/python3.11.exe c:/Users/Administrator/Desktop/pythontets/test1.py   
|---1.注册用户---|
|---2.登录用户---|
|---3.退出程序---|

zsy0226 发表于 2023-1-30 12:42:52

本帖最后由 zsy0226 于 2023-1-30 12:44 编辑

实在不行,重装idle

看图标颜色是小于3.9

更新一下到3.10.9

LuLD 发表于 2023-1-30 13:15:34

本帖最后由 LuLD 于 2023-1-30 13:23 编辑

Mta123456 发表于 2023-1-30 09:35
还没有编写完成。IDIE会报错但pycharm不会

第 56 行
原:print(f'{3-i秒后开始游戏!}')

改:print(f'{3-i}秒后开始游戏!')

f"{}字符串"

第 54 行
for缩进问题应该与 上行的 print 对齐

叼辣条闯世界 发表于 2023-1-30 21:50:14

import random as rd
import sys
import time

person = {}# 储存用户信息
side = width, high = 120, 100# 边界长度


class BigFish:# 定义一个大鱼类
    def __init__(self):
      self.width = rd.randint(0, 120)
      self.high = rd.randint(0, 100)

    def move(self):
      pass


class SmallFish:# 定义一个小鱼类
    pass


while True:
    beginning = input("""|---1.注册用户---|
|---2.登录用户---|
|---3.退出程序---|
|---请输入指定代码(1、2或3):""")# 初始化界面

    if beginning == '1':# 当输入1的时候
      name = input("请输入您要注册的账号:")
      if name in person:
            print("用户已经存在!")
      else:
            passwd = input("请输入该账号对应的密码:")
            passwd2 = input("请再次输入密码:")
            if passwd != passwd2:
                passwd2 = input("输入错误,请重新输入:")
            else:
                person = passwd
                print("注册成功,快登录试试吧^_^\n")

    elif beginning == '2':# 当输入2的时候
      the_name = input("请输入账号(输入3返回初始界面):")

      if the_name == '3':
            print('\n')
            pass

      elif the_name not in person:# 判断用户名是否存在
            print("用户名不存在!\n")

      elif the_name in person:
            the_passwd = input("请输入密码:")
            if person == the_passwd:
                print("登录成功,游戏开始!\n")
                for i in range(3):
                  time.sleep(1)
                  print(f'{3 - i}秒后开始游戏!')
      else:
            print("用户名或密码错误!")

    elif beginning == '3':# 当输入3的时候
      print("感谢使用本程序!")
      sys.exit()
    else:# 当输入不为1,2,3的时候
      print("非正常指令!")

zhangjinxuan 发表于 2023-2-7 19:25:54

会不会是文件的格式
页: [1]
查看完整版本: 导入模块出错