不确定我的问题是什么,输入变量无法继续
Not sure what my problem is, input variables cannot proceed
我对 Python 以及编程和 Whosebug 还是个新手,请原谅我缺乏正确的编码词汇。我的问题是下面的代码。我可以 运行 两者同时 True 循环就好了,但是一旦它到达注释 #PROBLEM STARTS HERE 下的代码,我不知道我到底做错了什么。我收到的错误消息是 unsupported operand type(s) for /: 'str' and 'int'.
gameName = str(input('Enter game title: '))
while True:
basePrice = input('Enter the base price: ')
try:
check = float(basePrice)
break
except ValueError:
print('Please enter a valid price.')
continue
while True:
discountPtg = input('Enter the discount(%): ')
try:
check = float(discountPtg)
break
except ValueError:
print ('Please enter just a number for your discount.')
#PROBLEM STARTS HERE
disctdPrice = (discountPtg / 100) * basePrice
savedCost = basePrice - disctdPrice
print ('\nSTATS\n')
print (gameName)
print ('Base price: RM' + str(basePrice))
print ('Discount: ' + str(discountPtg) + '%')
print ('Discounted price: ' + str(disctdPrice))
print ('You saved: ' + str(savedCost))
任何帮助将不胜感激。
你检查过它是否是一个数字,但你从未将它转换为一个。在这一行:
disctdPrice = (discountPtg / 100) * basePrice
DicountPtg 应该变成这样的浮点数:
disctdPrice = (float(discountPtg) / 100) * basePrice
谢谢大家。我通过这些修改弄明白了:
disctdPrice = (float(discountPtg)/100) * float(basePrice)
savedCost = float(basePrice) - float(disctdPrice)
我对 Python 以及编程和 Whosebug 还是个新手,请原谅我缺乏正确的编码词汇。我的问题是下面的代码。我可以 运行 两者同时 True 循环就好了,但是一旦它到达注释 #PROBLEM STARTS HERE 下的代码,我不知道我到底做错了什么。我收到的错误消息是 unsupported operand type(s) for /: 'str' and 'int'.
gameName = str(input('Enter game title: '))
while True:
basePrice = input('Enter the base price: ')
try:
check = float(basePrice)
break
except ValueError:
print('Please enter a valid price.')
continue
while True:
discountPtg = input('Enter the discount(%): ')
try:
check = float(discountPtg)
break
except ValueError:
print ('Please enter just a number for your discount.')
#PROBLEM STARTS HERE
disctdPrice = (discountPtg / 100) * basePrice
savedCost = basePrice - disctdPrice
print ('\nSTATS\n')
print (gameName)
print ('Base price: RM' + str(basePrice))
print ('Discount: ' + str(discountPtg) + '%')
print ('Discounted price: ' + str(disctdPrice))
print ('You saved: ' + str(savedCost))
任何帮助将不胜感激。
你检查过它是否是一个数字,但你从未将它转换为一个。在这一行:
disctdPrice = (discountPtg / 100) * basePrice
DicountPtg 应该变成这样的浮点数:
disctdPrice = (float(discountPtg) / 100) * basePrice
谢谢大家。我通过这些修改弄明白了:
disctdPrice = (float(discountPtg)/100) * float(basePrice)
savedCost = float(basePrice) - float(disctdPrice)