如何将空输入转换为定义的变量?
How can I turn an empty input into a defined variable?
我是 python(一般代码)的超级新手 我正在为 python 3.
中的函数做一些练习
我知道这可能是草率的代码,我会在学习的过程中努力清理它。
def show_employee():
name = input("Employee name: ")
salary = int(input("Employee salary: "))
default = 9000
if salary <= 9000:
return (f'{name}, {default}')
elif len(salary) == 0:
return (f'{name}, {default}')
else:
return (f'{name}, Salary: {salary}')
我继续收到此错误“以 10 为底的 int() 的无效文字:'' “
我想要完成的是,如果用户输入的数字不超过 9000,它会 returns 他们的名字和 9000。如果他们输入任何超过 9000 的东西,它 returns 他们的名字和他们的输入值。令我困惑的部分是我怎样才能得到它,如果他们不输入工资值,它会默认为 9000?
感谢您花时间提供帮助!
执行此操作的最佳时间是您定义 salary
的时间。如果你只想处理空字符串的情况,你可以这样做:
salary = int(input("Employee salary: ") or 9000)
这是有效的,因为 x or y
将评估为 x
如果它是“真实的”,而 y
如果不是 - 因此 thing = maybe_thing or default_thing
是分配一个default_thing
如果 maybe_thing
是任何“虚假”值(包括空字符串)。
如果您想用 9000 替换 任何 无效输入,try/except
会更合适:
try:
salary = int(input("Employee salary: "))
except ValueError:
salary = 9000
而不是立即将输入转换为 int:
salary = int(input("Employee salary: "))
首先检查输入是否为空,如果需要则转为字符串:
salary = input("Employee salary: ")
if not salary: # Meaning, len(salary) == 0
salary = default
else:
salary = int(salary)
我是 python(一般代码)的超级新手 我正在为 python 3.
中的函数做一些练习我知道这可能是草率的代码,我会在学习的过程中努力清理它。
def show_employee():
name = input("Employee name: ")
salary = int(input("Employee salary: "))
default = 9000
if salary <= 9000:
return (f'{name}, {default}')
elif len(salary) == 0:
return (f'{name}, {default}')
else:
return (f'{name}, Salary: {salary}')
我继续收到此错误“以 10 为底的 int() 的无效文字:'' “
我想要完成的是,如果用户输入的数字不超过 9000,它会 returns 他们的名字和 9000。如果他们输入任何超过 9000 的东西,它 returns 他们的名字和他们的输入值。令我困惑的部分是我怎样才能得到它,如果他们不输入工资值,它会默认为 9000?
感谢您花时间提供帮助!
执行此操作的最佳时间是您定义 salary
的时间。如果你只想处理空字符串的情况,你可以这样做:
salary = int(input("Employee salary: ") or 9000)
这是有效的,因为 x or y
将评估为 x
如果它是“真实的”,而 y
如果不是 - 因此 thing = maybe_thing or default_thing
是分配一个default_thing
如果 maybe_thing
是任何“虚假”值(包括空字符串)。
如果您想用 9000 替换 任何 无效输入,try/except
会更合适:
try:
salary = int(input("Employee salary: "))
except ValueError:
salary = 9000
而不是立即将输入转换为 int:
salary = int(input("Employee salary: "))
首先检查输入是否为空,如果需要则转为字符串:
salary = input("Employee salary: ")
if not salary: # Meaning, len(salary) == 0
salary = default
else:
salary = int(salary)