Python编码麻烦

时间:2018-09-10 03:11:09

标签: python string recipe

对于家庭作业,我应该编写一个食谱,以吸收沙漠的内容并吐出需要多少成分。我仍然是新手,并且会不断收到此错误代码,但是可能完全错了吗?

print("Welcome to Carmack's Bakery")

 cookies = int(input('How many dozen cookies? ==> ') )
print(cookies)

 cakes = int(input('How many cakes? ==> ') )
print(cakes)

donuts = int(input('How many dozen donuts? ==> ') )
print(donuts)



 cake_eggs = 2
 cake_butter = .5
 cake_sugar = 1
 cake_flour = 1.5

   cookie_eggs = 2
 cookie_butter = 2.5
  cookie_sugar = 2
   cookie_flour = 8


 donuts_eggs = 3
  donuts_butter = .25
  donuts_sugar = .5
 donuts_flour = 5

 print('You will need to order')

  cookies_dozen = float('cookie_eggs' + 'cookie_butter' + 'cookie_sugar' + 
   'cookie_flour' * 'cookies')
    print ('cookies_dozen' ('cups of butter'))

这是我的错误代码:产生可产生10种不同类型错误的代码段(一行或两行代码)

3 个答案:

答案 0 :(得分:1)

看起来您在这里的正确轨道上。

问题出在倒数第二行:

lansing

由于 cookies_dozen = float('cookie_eggs' + 'cookie_butter' + 'cookie_sugar' + 'cookie_flour' * 'cookies') cookie_eggs等都是变量,因此不能将它们放在引号中。当您将内容放在引号中时,解释器会认为它们是字符串文字。因此,解释器将假定您要执行的操作是添加和乘以字符串,然后将结果转换为float,这是不可能的。

将第二行更改为最后一行,然后看看会发生什么: cookie_butter

我建议您阅读有关python字符串如何与数学运算一起使用以及使用变量和文字的正确方法的信息。

此外,请尝试遵守发布指南,以使优秀的人员能够更快更好地帮助您!

祝你好运:)

答案 1 :(得分:1)

评论中的内容绝对正确。您应该始终发布格式正确的代码,其中包含所有相关的屏幕截图和详细的错误。

您可能会遇到的主要错误是由于缩进不正确。与C ++或Java不同,缩进和换行符起着重要的作用。

由于此代码中未使用任何块,因此请从头开始编写代码的每一行,而无需任何空格或制表符。

此外,从float函数和print函数内部删除最后两行中的单引号。

要在最后一行获得正确的结果,代码应为

cookies_dozen = float((cookie_eggs + cookie_butter + cookie_sugar + cookie_flour) * cookies)
print(cookies_dozen, 'cups of butter')

答案 2 :(得分:0)

cakes = int(input('How many cakes? ==> '))
donuts = int(input('How many dozens of donuts? ==> '))
cookies = int(input('How many dozen cookies? ==> '))

cake_eggs = 2
cake_butter = .5
cake_sugar = 1
cake_flour = 1.5

cookie_eggs = 2
cookie_butter = 2.5
cookie_sugar = 2
cookie_flour = 8

donuts_eggs = 3
donuts_butter = .25
donuts_sugar = .5
donuts_flour = 5

total_butter = cake_butter*cakes + cookie_butter*cookies + donuts_butter*donuts
total_eggs = cake_eggs*cakes + cookie_eggs*cookies + donuts_eggs*donuts
total_sugar = cake_sugar*cakes + cookie_sugar*cookies + donuts_sugar*donuts
total_flour = cake_flour*cakes + cookie_flour*cookies + donuts_flour*donuts

print('You need to order : \n' + 'Eggs = ' + str(total_eggs)+'\n' + 'Butter = ' + str(total_butter) +'\n' + 'Sugar : ' + str(total_sugar) + '\n' + 'Flour = ' + str(total_flour) )

在这里,要用数字连接字符串,必须使用 str()方法将数字转换为字符串。