为字符串赋值后。乘法时,为什么它会将字符串乘以而不是分配给它的值?

时间:2017-09-02 04:44:23

标签: python

enter image description here

python将值赋给string。在乘以字符串

时,值不会多重

3 个答案:

答案 0 :(得分:2)

  

为字符串

指定值后

没有。您尚未为字符串指定值。您已为变量指定了值。字符串仍然是字符序列,在vanilla提示符中键入input将始终为您提供表示字符序列的字符串'vanilla',而不是您为名为{{的变量赋值的值vanilla 1}}。

而不是使用变量,使用dict将flavor名称映射到price,并为dict索引:

flavor_prices = {
    'vanilla': 2.5,
    'mango': 3.5,
    'strawberry': 4.0,
    'chocolate': 5.0,
}

flavor = input('What flavor do you want?')
quantity = int(input('How many do you want?'))

print('The total cost is', flavor_prices[flavor] * quantity)

答案 1 :(得分:0)

首先,你应该像评论中提到的那样复制/粘贴你的代码。而不是发布图片/屏幕截图。

由于它是几行,我试图为你输入它。 我刚尝试了一个变量,但它对我来说很好。

您需要发布您所拥有的确切错误以及您正在尝试的确切代码 你在使用python 3.x吗?对我来说2.x它运行正常。

或者,您可能希望将input包裹为float

Flavour = float(input("what flavour do you want?"))

部分代码:

vanilla = float(2.50)

Flavour = input("what flavour do you want?")
Quantity = int(input("How many do you want?"))

print("The total cost is $",Flavour*Quantity)

Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
what flavour do you want?vanilla
How many do you want?2
('The total cost is $', 5.0)

答案 2 :(得分:-1)

a =“汽车” a2 carcar

因为如何将单词乘以数字?你返回多次乘以的字符串。

b =“2”这个字符串不是整数或浮点数,如果乘以它我需要使用int()或float()转换字符串 Int(b)* 2 = 4