Python打印出浮点数或整数

如果结果为小数,如何打印浮点数;如果结果没有小数,如何打印整数?


c = input("Enter the total cost of purchase: ")

bank = raw_input("Enter the bank of your credit card (DBS, OCBC, etc.): ")

dbs1 = ((c/float(100))*10)

dbs2 = c-dbs1

ocbc1 = ((c/float(100))*15)

ocbc2 = c-ocbc1



if (c > 200):

    if (bank == 'DBS'):

        print('Please pay $'+str(dbs2))

    elif (bank == 'OCBC'):

        print('Please pay $'+str(ocbc2))

    else:

        print('Please pay $'+str(c))

else:

    print('Please pay $'+str(c))


exit = raw_input("Enter to exit")

示例结果

Enter the total cost of purchase: 250

Enter the bank of your credit card (DBS, OCBC, etc.): OCBC

Please pay $212.5


Enter the total cost of purchase: 250

Enter the bank of your credit card (DBS, OCBC, etc.): DBS

Please pay $225.0


慕慕森
浏览 272回答 3
3回答

30秒到达战场

您可以尝试使用简单的Python字符串格式化方法:if int(c) == float(c):    decimals = 0else:    decimals = 2 # Assumes 2 decimal places for moneyprint('Please pay: ${0:.{1}f}'.format(c, decimals))如果满足以下条件,则将为您提供以下输出c == 1.00:Please pay: $1或此输出,如果c == 20.56:Please pay: $20.56

波斯汪

def nice_print(i):    print '%.2f' % i if i - int(i) != 0 else '%d' % inice_print(44)44nice_print(44.345)44.34在您的代码中:def nice_number(i):    return '%.2f' % i if i - int(i) != 0 else '%d' % ic = input("Enter the total cost of purchase: ")bank = raw_input("Enter the bank of your credit card (DBS, OCBC, etc.): ")dbs1 = ((c/float(100))*10)dbs2 = c-dbs1ocbc1 = ((c/float(100))*15)ocbc2 = c-ocbc1if (c > 200):    if (bank == 'DBS'):        print('Please pay $'+nice_number(dbs2))    elif (bank == 'OCBC'):        print('Please pay $'+nice_number(ocbc2))    else:        print('Please pay $'+nice_number(c))else:    print('Please pay $'+nice_number(c))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python