最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python練習-購物單

 更新時間:2022年01月23日 08:36:41   作者:是Dream呀????  
這篇文章主要介紹了Python練習-購物單,下文主要以舉例說明從問題描述開始,以及解題思路展開文章內(nèi)容,作為日常學習小練習,需要的小伙伴可以參考一下

一、題目描述

本題為填空題,只需要算出結(jié)果后,在代碼中使用輸出語句將所填結(jié)果輸出即可。

小明剛剛找到工作,老板人很好,只是老板夫人很愛購物。老板忙的時候經(jīng)常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。

這不,大促銷又來了!老板夫人開出了長長的購物單,都是有打折優(yōu)惠的。

小明也有個怪癖,不到萬不得已,從不刷卡,直接現(xiàn)金搞定。

現(xiàn)在小明很心煩,請你幫他計算一下,需要從取款機上取多少現(xiàn)金,才能搞定這次購物。

取款機只能提供 100 元面額的紙幣。小明想盡可能少取些現(xiàn)金,夠用就行了。 你的任務是計算出,小明最少需要取多少現(xiàn)金。

以下是讓人頭疼的購物單,為了保護隱私,物品名稱被隱藏了。

**** ? ? 180.90 ? ? ? 88折
**** ? ? ?10.25 ? ? ? 65折
**** ? ? ?56.14 ? ? ? ?9折
**** ? ? 104.65 ? ? ? ?9折
**** ? ? 100.30 ? ? ? 88折
**** ? ? 297.15 ? ? ? ?半價
**** ? ? ?26.75 ? ? ? 65折
**** ? ? 130.62 ? ? ? ?半價
**** ? ? 240.28 ? ? ? 58折
**** ? ? 270.62 ? ? ? ?8折
**** ? ? 115.87 ? ? ? 88折
**** ? ? 247.34 ? ? ? 95折
**** ? ? ?73.21 ? ? ? ?9折
**** ? ? 101.00 ? ? ? ?半價
**** ? ? ?79.54 ? ? ? ?半價
**** ? ? 278.44 ? ? ? ?7折
**** ? ? 199.26 ? ? ? ?半價
**** ? ? ?12.97 ? ? ? ?9折
**** ? ? 166.30 ? ? ? 78折
**** ? ? 125.50 ? ? ? 58折
**** ? ? ?84.98 ? ? ? ?9折
**** ? ? 113.35 ? ? ? 68折
**** ? ? 166.57 ? ? ? ?半價
**** ? ? ?42.56 ? ? ? ?9折
**** ? ? ?81.90 ? ? ? 95折
**** ? ? 131.78 ? ? ? ?8折
**** ? ? 255.89 ? ? ? 78折
**** ? ? 109.17 ? ? ? ?9折
**** ? ? 146.69 ? ? ? 68折
**** ? ? 139.33 ? ? ? 65折
**** ? ? 141.16 ? ? ? 78折
**** ? ? 154.74 ? ? ? ?8折
**** ? ? ?59.42 ? ? ? ?8折
**** ? ? ?85.44 ? ? ? 68折
**** ? ? 293.70 ? ? ? 88折
**** ? ? 261.79 ? ? ? 65折
**** ? ? ?11.30 ? ? ? 88折
**** ? ? 268.27 ? ? ? 58折
**** ? ? 128.29 ? ? ? 88折
**** ? ? 251.03 ? ? ? ?8折
**** ? ? 208.39 ? ? ? 75折
**** ? ? 128.88 ? ? ? 75折
**** ? ? ?62.06 ? ? ? ?9折
**** ? ? 225.87 ? ? ? 75折
**** ? ? ?12.89 ? ? ? 75折
**** ? ? ?34.28 ? ? ? 75折
**** ? ? ?62.16 ? ? ? 58折
**** ? ? 129.12 ? ? ? ?半價
**** ? ? 218.37 ? ? ? ?半價
**** ? ? 289.69 ? ? ? ?8折

需要說明的是,8888 折指的是按標價的 88%88 計算,而 88 折是按 80%80 計算,余者類推。 特別地,半價是按 50%50 計算。

請輸出小明要從取款機上提取的金額,單位是元。

運行限制:

最大運行時間:1s
最大運行內(nèi)存: 128M

二、解題思路

  • data = data.split()將data按空格進行拆分,把給出來的data放入列表中,進行循環(huán)遍歷取值
  • 價格price轉(zhuǎn)化為浮點數(shù)用于計算,折扣discount先保持字符串類型不變,讓其去匹配對應的值
  • 當discount為兩位長度時,當其為‘半價’,discount等于0.5,反之取其數(shù)字部分,將對應數(shù)字部分字符串進行強制轉(zhuǎn)化浮點數(shù)乘以對應的小數(shù)點,float(discount[0])*0.1
  • 不是兩位長度時,就是三位長度,此時數(shù)字部分對應的字符串部分為兩位。也就是說強制轉(zhuǎn)化為浮點數(shù)后的數(shù)字部分是一個兩位數(shù),也就是對應的小數(shù)點應該向前移動兩位。float(discount[0:2])*0.01
  • 最后要算其需要的紙幣100元是多少,也就是求出來的總和sum整除100之后再加一個1就是一共需要帶的100元的數(shù)量,然后通過浮點數(shù)進行輸出就可以啦!

三、源碼分享

import math
data = '''
**** ? ? 180.90 ? ? ? 88折
**** ? ? ?10.25 ? ? ? 65折
**** ? ? ?56.14 ? ? ? ?9折
**** ? ? 104.65 ? ? ? ?9折
**** ? ? 100.30 ? ? ? 88折
**** ? ? 297.15 ? ? ? ?半價
**** ? ? ?26.75 ? ? ? 65折
**** ? ? 130.62 ? ? ? ?半價
**** ? ? 240.28 ? ? ? 58折
**** ? ? 270.62 ? ? ? ?8折
**** ? ? 115.87 ? ? ? 88折
**** ? ? 247.34 ? ? ? 95折
**** ? ? ?73.21 ? ? ? ?9折
**** ? ? 101.00 ? ? ? ?半價
**** ? ? ?79.54 ? ? ? ?半價
**** ? ? 278.44 ? ? ? ?7折
**** ? ? 199.26 ? ? ? ?半價
**** ? ? ?12.97 ? ? ? ?9折
**** ? ? 166.30 ? ? ? 78折
**** ? ? 125.50 ? ? ? 58折
**** ? ? ?84.98 ? ? ? ?9折
**** ? ? 113.35 ? ? ? 68折
**** ? ? 166.57 ? ? ? ?半價
**** ? ? ?42.56 ? ? ? ?9折
**** ? ? ?81.90 ? ? ? 95折
**** ? ? 131.78 ? ? ? ?8折
**** ? ? 255.89 ? ? ? 78折
**** ? ? 109.17 ? ? ? ?9折
**** ? ? 146.69 ? ? ? 68折
**** ? ? 139.33 ? ? ? 65折
**** ? ? 141.16 ? ? ? 78折
**** ? ? 154.74 ? ? ? ?8折
**** ? ? ?59.42 ? ? ? ?8折
**** ? ? ?85.44 ? ? ? 68折
**** ? ? 293.70 ? ? ? 88折
**** ? ? 261.79 ? ? ? 65折
**** ? ? ?11.30 ? ? ? 88折
**** ? ? 268.27 ? ? ? 58折
**** ? ? 128.29 ? ? ? 88折
**** ? ? 251.03 ? ? ? ?8折
**** ? ? 208.39 ? ? ? 75折
**** ? ? 128.88 ? ? ? 75折
**** ? ? ?62.06 ? ? ? ?9折
**** ? ? 225.87 ? ? ? 75折
**** ? ? ?12.89 ? ? ? 75折
**** ? ? ?34.28 ? ? ? 75折
**** ? ? ?62.16 ? ? ? 58折
**** ? ? 129.12 ? ? ? ?半價
**** ? ? 218.37 ? ? ? ?半價
**** ? ? 289.69 ? ? ? ?8折
'''
data = data.split()
sum = 0
for i in range(0,len(data),3):
? ? price = float(data[i+1])
? ? discount = data[i+2]
? ? if len(discount) == 2:
? ? ? ? if discount == '半價':
? ? ? ? ? ? discount = 0.5
? ? ? ? else:
? ? ? ? ? ? discount = float(discount[0])*0.1
? ? else:
? ? ? ? discount = float(discount[0:2])*0.01
? ? sum += price*discount
print('%.0f'%(((sum//100)+1)*100))

四、學習總結(jié)

data = data.split() 語法將字符串按照空格進行分割:

a = '1 213 31'
print(a.split())
# ['1', '213', '31']

列表切片:[1:3]左閉右開,[:-1]表示除了最后一個其余的全都取:

a = [2,3,4,5,6]
print(a[0:1])
print(a[:-1])
# [2]
# [2, 3, 4, 5]

到此這篇關(guān)于Python練習-購物單的文章就介紹到這了,更多相關(guān)Python購物單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

望城县| 九江县| 灌南县| 大厂| 东至县| 定西市| 从化市| 周口市| 丰宁| 根河市| 新野县| 新田县| 肇源县| 石狮市| 彭泽县| 桑植县| 佛坪县| 阿拉尔市| 扬中市| 东丰县| 南陵县| 洛宁县| 县级市| 靖远县| 苗栗市| 冕宁县| 惠来县| 漠河县| 阿勒泰市| 巴塘县| 海门市| 连山| 中宁县| 定结县| 铅山县| 乌兰察布市| 通辽市| 龙陵县| 新巴尔虎右旗| 绥中县| 新宁县|