All*_*ady 1 python variables global
def defineType(riskCode):
if riskCode == 1:
riskType = High
else:
if riskCode == 2:
riskType = Moderate
else:
if riskCode == 3:
riskType = Low
else:
if RiskCode == 4:
riskType = No
Run Code Online (Sandbox Code Playgroud)
这是我正在为一个班级工作的计划的一部分......
# Global Variables
custName = input('Please enter your name: ')
custAge = int(input('Please enter your age: '))
custViolation = int(input('Please enter the number of violations: '))
riskCode = 0
estimatePrice = 0
riskType = none
Run Code Online (Sandbox Code Playgroud)
这些是我的全局变量......
Traceback (most recent call last):
File "C:\Users\Alli\Downloads\HwyRobbery.py", line 13, in <module>
riskType = none
NameError: name 'none' is not defined
Run Code Online (Sandbox Code Playgroud)
这是我不断变化的错误,具体取决于我尝试解决问题所做的更改
任何帮助将不胜感激!!!
谢谢!阿利
我看到的最初问题是它none不是Python中的内置值.None虽然.
此外,第一个函数中的嵌套if语句塔是不必要的.扁平化!
def defineType(riskCode):
if riskCode == 1:
riskType = High
elif riskCode == 2:
riskType = Moderate
elif riskCode == 3:
riskType = Low
elif RiskCode == 4:
riskType = No
Run Code Online (Sandbox Code Playgroud)
这不是错误,但它更具可读性,不是吗?(更容易输入:)
另外,我认为High,Moderate和Low,并No在代码的其他地方定义?如果您使用它们作为枚举常数(即一组独特的整数,其值不改变), ,HIGH,MODERATE,LOW和NO会更地道.
事实上,如果你这样做,整个功能可以像这样完成:
HIGH = 1
MODERATE = 2
LOW = 3
NO = 4
Run Code Online (Sandbox Code Playgroud)
现在你根本不需要映射它们; 你可以分配riskCode给riskType,虽然现在可能有点多余!
riskType = riskCode
Run Code Online (Sandbox Code Playgroud)
如果您想从风险代码中获取字符串,请尝试Artsiom Rudzenka的答案中的第二个字典.
最后......我建议将这些代码放在自己的命名空间中:
class Risk(object):
HIGH = 1
MODERATE = 2
LOW = 3
NO = 4
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样引用它们:
if riskCode == Risk.HIGH: do_something()
Run Code Online (Sandbox Code Playgroud)
现在你可以像NO其他东西一样使用简短的单词.
| 归档时间: |
|
| 查看次数: |
8204 次 |
| 最近记录: |