2013-08-18 70 views
1

好吧,所以我对编程很陌生。我已经开始自学python-3.2,并试图编写一个程序,显示任何餐馆账单将有15%的小费和20%的小费。 我不断获取:'int'对象不可为python 3.2调用

Traceback (most recent call last): 
    File "/home/marian/restaurantbilltotal.py", line 6, in <module>  
    print(fifteen ("Plus a 15% tip: ")) 
TypeError: 'int' object is not callable tip 

我写的代码是:

#Restaurant bill total 

bill = int(input("Restaurant bill total: ")) 

fifteen = (bill // 100) * 15 + bill 
print(fifteen ("Plus a 15% tip: ")) 

twenty = (bill // 100) * 20 + bill 
print(twenty ("Plus a 20% tip: ")) 

input("\n\nPress the enter key to exit.") 

请帮帮忙,但请记住,我才刚开始学习如何编程:-)。谢谢。

回答

0
bill = int(input("Restaurant bill total: ")) 

fifteen = (bill * 0.15) 

twenty = (bill * 0.20) 

print("Your Actual bill : ", bill) 
print("Bill with 15% additional charge : ", bill+fifteen) 
print("Bill with 20% additional charge : ", bill+twenty) 

input("\n\nPress the enter key to exit.") 
1

fifteen是一个整数值。您正在尝试治疗就像是一个函数调用它:

print(fifteen ("Plus a 15% tip: ")) 

也许你想文本打印后:

print("Plus a 15% tip:", fifteen) 

同样的错误适用于twenty,纠正其在类似的方式:

print("Plus a 20% tip:", twenty) 
0

你应该写:

print ('Plus 15% tip:' , str(fifteen)) 

在您的代码中,它被解释为:fiften('Plus 15% tip: ')就像它是一个函数。

+0

这几乎可以肯定是Python 3,其中print()是一个函数。 –

+0

我看到,谢谢,校正 – gen

+0

想通了:d #Restaurant纸币总 账单= INT(输入( “餐厅纸币总:”)) 15 =(票据// 100)* 15 +纸币 打印( “\ nPlus 15%小费:”,十五) twenty =(bill // 100)* 20 + bill print(“\ nPlus a 20%tips:”,twenty) input(“\ n \ nPress输入密钥退出。“) – Silkredin