我正在尝试编写一个用于在Python中平方用户输入数的代码。我创建了函数my1()...
我想要做的是让Python接受用户输入的数字并对其进行平方,但如果用户没有添加任何值,则会给出一个print语句,默认情况下会给出例如2的默认数字的平方
这是我到目前为止所尝试的内容
def my1(a=4):
if my1() is None:
print('You have not entered anything')
else:
b=a**2
print (b)
my1(input("Enter a Number"))
答案 0 :(得分:2)
这是一个更好的解决方案:
def my1(a=4):
if not a:
return 'You have not entered anything'
else:
try:
return int(a)**2
except ValueError:
return 'Invalid input provided'
my1(input("Enter a Number"))
<强>解释强>
return
值,而不仅仅是打印。这是一种很好的做法。if not a
测试您的字符串是否为空。这是一个Pythonic成语。int
。ValueError
并在用户输入无效的情况下返回相应的消息。答案 1 :(得分:0)
在你的第二行,它应该是 如果a是None:
我认为您想要做的事情如下:
def m1(user_input=None):
if user_input is None or isinstance(user_input, int):
print("Input error!")
return 4
else:
return int(user_input)**2
print(my1(input("Input a number")))
答案 2 :(得分:0)
您通过在my1()中调用my1()来获得无限循环。我会做以下编辑:
def my1(a):
if a is '':
print('You have not entered anything')
else:
b=int(a)**2
print (b)
my1(input("Enter a Number"))
答案 3 :(得分:0)
当我阅读你的代码时,我可以看到你对你所写的内容感到非常困惑。尝试围绕您需要执行的任务进行整理。在这里,你想要:
首先,请接受您的意见。
user_choice = input("Enter a number :")
然后,计算您收到的数据。
my1(user_choice)
您希望自己的功能(截至目前为print an error message if your type data is not good
,否则打印平方数。
def my1(user_choice): # Always give meaning to the name of your variables.
if not user_choice:
print 'Error'
else:
print user_choice ** 2
在这里,您基本上是在说“如果我的user_choice不存在......”。意思是它等于False
(它比这更复杂,但总之,你需要记住这一点)。例如,空字符串不包含任何内容。另一个选择是else
,如果您处理了错误案例,那么您的输入必须正确,因此您需要相应地计算数据。