x=raw_input('what is your favorite number? ')
n=x*10
print n
如果我插入5,我不会得到50.我得到5555555
我尝试过声明浮动(n)和工具。没什么帮助。我意识到这是一个小联盟,但我只是开始自学python。 谢谢,托德
答案 0 :(得分:1)
您将号码视为raw_input
,这意味着它将作为字符串返回给程序。当你将一个字符串乘以一个整数并打印结果时,它只打印字符串x
次,在你的情况下为10,因为你试图乘以10.为了证明这一点,改变,10到20并观察什么发生。
有两种方法可以解决这个问题。第一个是使用input()
而不是raw_input()
,因此它会返回一个数字作为结果。
x=input("Please enter a number here.\n")
第二种方法是使用函数x
将int()
重新分配给字符串的等价整数。
x=int(x) # Will turn "10", which is what you have, into 10
这应该可以解决您的问题。
祝你好运,编码愉快!
答案 1 :(得分:1)
这是因为raw_input()的默认数据类型是string。您必须将字符串输入强制转换为整数以获得所需的结果。
答案 2 :(得分:0)
当您从用户输入中读取值时,它就像一个字符串。所以x实际上等于字符串'5',但你真正想要的是数字5.
int(x) * 10