python - 搜索字典的功能
问题描述
我正在尝试编写一个简单的函数,当给定字典名称和键的参数时,它将返回正确的值。它基本上只是用作在正确尺寸的电缆上安装正确尺寸的密封套和正确数量的芯数的快速参考。
这是我所拥有的:
cable120 = { 2 : '40mm', 3 : '40mm', 4 : '50mm' }
cable150 = { 2 : '40mm', 3 : '50s', 4 : '50mm' }
cable185 = { 2 : '50s', 3 : '50mm', 4 : '63s' }
cable240 = { 2 : '50mm', 3 : '63s', 4 : '63mm' }
def glandsize(csa,cores):
try :
print(csa[cores])
except :
print('Command not recognised. Please try Again.')
print (' Use As Follows glandsize(cable??, cores)\n For Example If Cable Is 16mm 3 core,\n glandsize(cable16,3')
#glandsize(cable185,2)
现在我将此文件保存为 GlandSize.py 并将其放在路径环境中,以便我可以从 Shell 导入它以使用它。
这是我尝试在 shell 中使用它时发生的情况:
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import GlandSize
>>> GlandSize.glandsize(cable185, 3)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
GlandSize.glandsize(cable185, 3)
NameError: name 'cable185' is not defined
>>>
我不明白为什么?我知道如果我在导入 GlandSize.py 时调用了 GlandSize(cable185,2) 函数,它会输出正确的结果。
为什么我不能从 shell 访问模块中正确的字典?
我知道这可能是一个非常基本的错误,但我似乎无法理解它。任何帮助将不胜感激。
解决方案
每次打开新终端时,所有变量都将为空。参考文件中的字典:
>>> import GlandSize
>>> GlandSize.glandsize(GlandSize.cable185, 3)
50mm
或者创建一个新的字典:
>>> import GlandSize
>>> cable185 = { 2 : '50s', 3 : '50mm', 4 : '63s' }
>>> GlandSize.glandsize(cable185, 3)
50mm
推荐阅读
- php - 我如何在 davejamesmiller laravel-breadcrumbs 上传递 id
- bash - docker-compose 命令 wait-for 看起来好像没有保持服务的启动
- amazon-web-services - Nginx 入口禁用在 Route53 上自动创建 DNS
- reactjs - 在 401 上对 redux-saga dispatch logout action 做出反应
- nuget - VS2019 实际测试运行前的大延迟
- spring-boot - 在使用 oauth2 进行身份验证时在 Spring Boot 会话中写入数据
- api - 预期类型为“列表”的值
',但得到了 '_JsonMap' 类型之一 - qt - 错误:您的 GStreamer 安装缺少插件:使用 QML 应用程序部署 Gstreamer 插件
- python - 有没有办法用前一行的值覆盖熊猫数据框中的 Nan 值?
- javascript - 当按钮悬停时其他东西会移动