输入功能无法正常运作

时间:2019-03-26 13:13:03

标签: python

所以我正在做一些非常基础的编程,因为我很新,并且我想从控制台进行用户输入以定义变量。尽管input()函数可以做到,但我认为它采用的是我输入的字符串。

我将所有代码简化为一个真正的基本程序,该程序只乘以给定的数字。我尝试放入raw_input(),但是我的在线编译器不喜欢这样。 NameError: name 'raw_input' is not defined

n = input("Number:")
print(n*2)

相反,它只会打印两次(5将是55,2将是22,等等)

2 个答案:

答案 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.")