所以我正在做一些非常基础的编程,因为我很新,并且我想从控制台进行用户输入以定义变量。尽管input()
函数可以做到,但我认为它采用的是我输入的字符串。
我将所有代码简化为一个真正的基本程序,该程序只乘以给定的数字。我尝试放入raw_input(),但是我的在线编译器不喜欢这样。 NameError: name 'raw_input' is not defined
n = input("Number:")
print(n*2)
相反,它只会打印两次(5将是55,2将是22,等等)
答案 0 :(得分:1)
您可以执行以下操作:
n = input("Number:")
if(n.isdigit()):
n=int(n)
print(n*2)
else:
print("N is not a digit")
这将确保输入的内容不是数字,也不会尝试将其转换为整数。
如果您想检查n
是否是一个表示n.n
的float(),则应该在Checking if a string can be converted to float in Python上检查此问题。然后,可以在上述if语句中将int(n)
替换为float(n)
。
答案 1 :(得分:1)
首先将n转换为整数。
n = input("Number:")
m = int(n)
print(m*2)
或者只是
n = input("Number:")
print(int(n)*2)
请注意,如果您输入字母字符作为输入,这将失败并显示ValueError
。捕获此问题的一种简单方法是,将int转换(如果愿意,可以以相同的方式进行float
转换)放在try-except块之间,如下所示:
n = input("Number:")
try:
print(int(n)*2)
except(ValueError):
print("Please enter digits only.")