Python导入报错:无法从rps8导入rock_paper_scissors
解决导入错误及代码逻辑问题
一、先解决导入错误 cannot import name 'rock_paper_scissors' from 'rps8'
- 检查
rps8.py的位置:确保它和你当前运行的主脚本文件在同一个文件夹里,Python只会在当前目录和系统路径里查找模块。 - 核对函数名拼写:打开
rps8.py,确认里面的函数确实叫rock_paper_scissors——Python大小写敏感,别把大写写成小写(比如Rock_Paper_Scissors就会匹配失败)。 - 如果
rps8是文件夹(Python包):要确保包里的子模块包含这个函数,并且__init__.py文件导出了它;或者直接从具体子模块导入,比如from rps8.game_module import rock_paper_scissors(把game_module换成实际的子模块文件名)。
二、修复代码逻辑问题(即使导入成功也会失效)
你的代码里还有几个关键错误,导致输入1也无法启动游戏:
- 未接收用户输入:你把
Playerschoice赋值成了元组(1,2),根本没存储用户输入的内容,需要把input()的结果转成整数后赋值给它。 - 未调用定义的函数:你定义了
choosegame()但没执行它,最后必须加一行调用代码才能启动程序。
修正后的代码:
from rps8 import rock_paper_scissors def choosegame(): print("Welcome to the arcade! 🤖\n") # 接收用户输入并转换为整数类型 Playerschoice = int(input("Please choose a game:\n1 = Rock Paper Scissors\n2 = Guess My Number\n")) if Playerschoice == 1: rock_paper_scissors() # 调用函数启动程序 choosegame()
内容的提问来源于stack exchange,提问作者Balakey Butlin
相关产品推荐
相关产品推荐

