2017-08-06 34 views
0

我必须完成如下任务:如何从同一个输入中打印int和float值?

读取两个整数并打印两行。第一行应该包含整数除法,a // b。第二行应该包含浮动除法,a/b。

我试着像代码:

a = int(raw_input()) 
b = int(raw_input()) 
print a//b 
print a/b 

除此之外,还有没有其他的方法来解决这类问题呢?请帮助..

+1

缩进必须是相同的所有代码行 – Serenity

+0

没让你先生@Serenity –

+1

你的第二个两线有不同程度的压痕。程序在语法上不正确。 – DyZ

回答

2
a = int(raw_input()) 
b = int(raw_input()) 
print a/b 
print a/float(b) 

注 - Python 2.7版
符合3- ,b都是int,所以a/b总是让步t值的答案。
如果一个元素是浮点型,那么总是应答浮点值。

+0

是的,这是一个不错的主意,它的工作原理。我试图写如 **打印浮动(a/b)**,但它显示我一个错误。 –

+0

你能告诉我一个错误吗?其中显示... –

1

尝试

a = int(raw_input()) 
b = int(raw_input()) 
print a//b 
print a/float(b) 
+0

'a/b'和'a/float(b)'的作用相同。由于'a'和'b'都是'int'类型,所以它们是 –

+0

。所以,如果我们做'a/b',答案会自动转换为int。 –

+0

看看这个链接https://code.hackerearth.com/9e62c0Y –

0

其他办法吗?保持您的代码可读性是最好的。你可以做的是格式化打印语句(如下图所示):

更新:这里是既python2和Python 3

from __future__ import division # use this if python2 

a = int(input()) # in python2 input() is sufficient 
b = int(input()) 

intdiv = a//b 
floatdiv = a/b 

print("{0}\n{1}".format(intdiv,floatdiv)) # this is the "normal" way to print things. \n = Linebreak 

或工作例如:

print("{}\n{}".format(intdiv,floatdiv)) # alternative 

或者:

print("Int: {}\nFloat: {}".format(intdiv,floatdiv)) # alternative 

上次打印:

Int: 0 
Float: 0.6666666666666666 

Docs和其他例子在这里:https://docs.python.org/2/library/string.html#format-examples

+0

是的,格式化是一个好主意。 –

+0

但是,如果我的输入是像a = 4,b = 3?检查。 –

+0

@BharatChaudhary查看我的更新回答。 –

0

检查here和 尝试(Python 2.7.10):

a = int(raw_input()) 
b = int(raw_input()) 
print (1.0*a/b) # float value 
print a/b # int value 
+0

这不是一个好主意。什么是a = 4和b = 3。根据您的解决方案,什么会浮动价值? –

+0

为什么@BharatChaudhary?输出将是'1.33333333333'和 '1' –

+0

你期望输出什么? @BharatChaudhary –

0

试试这个:

a = int(raw_input()) 
b = int(raw_input()) 
print a/b 
print float(a)/b 
+0

我不认为这会奏效。当a = 5和b = 2时检查你的代码 –

+0

它工作正常,[检查这里](https://code.hackerearth.com/2055c8b?key=65e0409b3f1e00e2dd2dd60aa890dd4a) –

+0

现在它是正确的以前它是打印浮动(a/b)。 –

相关问题