学习Python3:201701030
第一步首先是開發(fā)環(huán)境的搭建
參考:anconda
參考:類庫問題
IDE:pycharm,去官網(wǎng)下載即可,內(nèi)容前兩篇也有提到
學(xué)習(xí)目標(biāo)與計(jì)劃
第一周的計(jì)劃是自學(xué)python,之后周一到周五每天都有作業(yè).
第一天的作業(yè)主要是考考基本流程語句,以大一學(xué)弟學(xué)妹的水平,應(yīng)該能在限時(shí)內(nèi)做完,但是實(shí)現(xiàn)方式會(huì)比較差,我給出的答案基本是啟發(fā)性的,我?guī)У钠邆€(gè)人都是我親自面試的,悟性還可以,我預(yù)估的主要問題是他們能不能開竅.具體內(nèi)容會(huì)在下面提到.
作業(yè)講解
問題一,編程語言+邏輯問題
本問題實(shí)現(xiàn)的點(diǎn)就三個(gè)(循環(huán)語句,數(shù)組(1,2,3,4),邏輯性問題(數(shù)字組合)),沒什么好講的,前兩個(gè)點(diǎn)是基本功,最后一個(gè)問題是邏輯問題,哪里出錯(cuò)補(bǔ)哪里.
print("1. 屏幕輸出:1,2,3,4可以組成的互不相同且無重復(fù)數(shù)組的三位數(shù)\n") # 關(guān)鍵 # 循環(huán)控制;邏輯思考,這個(gè)題目比較簡單,不做過多講解for i in range(1, 5):for j in range(1, 5):for k in range(1, 5):if (i != k) and (i != j) and (j != k):print(i * 100 + j * 10 + k)問題二,編程語言+領(lǐng)域知識
question2 = "2.一只理財(cái)產(chǎn)品投入一萬元,第一年利率為0.1,第二年為0.2,第三年為0.3,第三年為0.4,\n以此類推最多十年,編寫程序,輸入數(shù)字可求n年后收益與投入總價(jià),\n(1)復(fù)利時(shí)(2)非復(fù)利時(shí)"print(question2)# 這個(gè)題目的實(shí)現(xiàn)方式十分簡單,可以說是簡單至極,僅僅寫最簡單的代碼一個(gè)一個(gè)添加就可以實(shí)現(xiàn) # 但是,在python中該問題的實(shí)現(xiàn)方式卻不僅僅局限于一般性的流程控制語句 # 我給出的答案是 基于lambda 的,這是python與C++與java8之前語法的不同之處 # 擴(kuò)展: 函數(shù)式編程 與 面向?qū)ο缶幊?/span>base_money = 10000years = int(input("請輸入要計(jì)算的年份")) print(base_money * (1 + sum(range(1, years)) / 10)) all_money_list = [10000 * (1 + i / 10) for i in range(1, years)] # 列表解析,函數(shù)式編程的一大亮點(diǎn) print(sum(all_money_list) - years * 10000 + 2 * 10000)def ShowAll(): # 展示所有年份for i in range(1, 11):years = iprint(base_money * (1 + sum(range(1, years)) / 10))all_money_list = [10000 * (1 + i / 10) for i in range(1, years)]print(sum(all_money_list) - years * 10000 + 2 * 10000)# 注意觀察輸出數(shù)據(jù)的類型變化# lambda all_money_list2 = [j for j in [(1 + i / 10) for i in range(0, years)]]def GetResult(money):return lambda y: money * ygetResult = GetResult(base_money) final_money = 0 for i in all_money_list2: final_money = getResult(i)print("非復(fù)利,使用lambda表達(dá)式", final_money)for i in all_money_list2: base_money = base_money * i print("復(fù)利:", base_money)money_rate = 1 for i in all_money_list2: money_rate = money_rate * i print(money_rate) print("復(fù)利:,使用lambda表達(dá)式", GetResult(10000)(money_rate))關(guān)鍵點(diǎn):輸入數(shù)字,計(jì)算,專業(yè)名詞(復(fù)利).
前兩個(gè)點(diǎn)屬于基本功范疇,本處的專業(yè)名詞比較簡單,但是算是一個(gè)開始,因?yàn)槲覀兊膶W(xué)科特殊性,領(lǐng)域知識幾乎是我們面對的問題.
本處不太一樣的地方就是,我給出的參考答案是以lambda表達(dá)式實(shí)現(xiàn)的,學(xué)弟學(xué)妹們還沒有接觸這個(gè).
我給出了擴(kuò)展提示,這也是很重要的一個(gè)內(nèi)容.
問題三,編程語言
print("3. 題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請問該數(shù)是多少?(求1-100000內(nèi)數(shù)字)\n")# 基本語法考核,基本功import mathfor i in range(100000):x = int(math.sqrt(i + 100))y = int(math.sqrt(i + 268))if (x * x == i + 100) and (y * y == i + 268):print(i)問題四,編程語言+領(lǐng)域知識+邏輯問題
question4 = \"\4.\題目:輸入某年某月某日,判斷這一天是這一年的第幾天?\1.程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來,然后再加上5天即本年的第幾天,特殊\情況,閏年且輸入月份大于3時(shí)需考慮多加一天。\2.程序源代碼:\" print(question4)# 該問題的算法實(shí)現(xiàn)存在多樣性,我想看看大家寫的.year = int(input('year:\n')) month = int(input('month:\n')) day = int(input('day:\n'))months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334) # 這只是實(shí)現(xiàn)方式中的一種 if 0 <= month <= 12:sum = months[month - 1] else:print('data error') sum += day leap = 0 if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): # 檢查是否閏年leap = 1 if (leap == 1) and (month > 2):sum += 1 print('it is the %dth day.' % sum)第四個(gè)題比較特別的地方就在于實(shí)現(xiàn)方式的多樣性,這是一個(gè)可表現(xiàn)的亮點(diǎn).
劃重點(diǎn)的部分
如何學(xué)習(xí)
學(xué)習(xí)最重要的是發(fā)揮主動(dòng)性,同時(shí)也會(huì)有很多技巧性的東西.下面我所寫的東西,希望能培養(yǎng)的主要是分析問題的能力,至于其他想要表達(dá)的,(學(xué)會(huì)了分析問題之后,你可以自己去分析)
學(xué)快點(diǎn),學(xué)多點(diǎn).
可以感覺出我對時(shí)間安排的比較近,從發(fā)布計(jì)劃,到第一次作業(yè)僅僅只有一天的間隔.果不其然…萌新學(xué)弟學(xué)妹們基本上沒什么準(zhǔn)備.這次是給大家敲個(gè)鐘.希望大家以后能夠發(fā)揮主動(dòng),講究效率.
對作業(yè)關(guān)鍵詞進(jìn)行統(tǒng)計(jì)分析
編程語言 = 4 邏輯問題 = 領(lǐng)域知識 = 2這就是前三天的作業(yè)重點(diǎn),每次作業(yè)外加一份,可發(fā)揮亮點(diǎn)的問題一個(gè)
知識點(diǎn)列表循環(huán)語句 range(),數(shù)組生成 input(),屏幕輸入 基本符號若干 math.sqrt() 數(shù)學(xué)類庫,開平方擴(kuò)展def XXXX(): 定義類 %d 占位符 lambda表達(dá)式對于代碼的自由思考
總結(jié)
以上是生活随笔為你收集整理的学习Python3:201701030的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9.2 mnist_with_summa
- 下一篇: 学习Python3:20171031