2017-08-11 99 views
-1
g = raw_input("Any other items enter the price: $") 
if (g.isalpha()): 
    g = 0.0 
if (g.isdigit()): 
    g = g 
else: 
    g = 0.0 

Pat=(raw_input('And how many of this item:')) 
if (Pat.isalpha()): 
    Pat = 0.0 
if (Pat.isdigit()): 
    Pat = Pat 
else: 
    Pat = 0.0 

g_ = (Pat * g) 
Total = (a_ + b_ + c_ + d_ + e_ + f_ + g_) 
print'Total: $',Total, ''' 

它使返回錯誤:這個程序不斷崩潰,我無法解決爲什麼?

TypeError: can't multiply sequence by non-int of type 'str'

+3

的可能的複製[爲什麼我獲取TypeError:不能通過類型爲'float'的非int類型乘以序列?](https://stackoverflow.com/questions/485789/爲什麼 - 我 - 得到 - 類型錯誤 - 錯誤 - 乘法 - 非整型 - 浮點型) –

回答

0

此行只是分配一個字符串返回

if (Pat.isdigit()): 
    Pat = Pat 

我假設你的意思

if (Pat.isdigit()): 
    Pat = int(Pat) 
+2

'g'也一樣。 'if(g.isdigit()):g = g'將'g'作爲'str'返回。 –

+0

TypeError:不支持的操作數類型爲+:'float'和'str' – GAVDADDY

+0

如果您期望對它們進行算術運算,則應該將您的變量轉換爲「float」和「int」。我建議你找到一個好的Python文本並閱讀「數據類型」 – CoryKramer