最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

值得苦練的100道Python經(jīng)典練手題,(附詳細(xì)答案)

2023-07-11 13:27 作者:米粒兒學(xué)編程  | 我要投稿

嗨嘍大家好卷子又來了,100道Python經(jīng)典練手題奉上

花了一周的時(shí)間,整理了100道Python的練習(xí)題,如果你是一位初學(xué)者,那么這一份練習(xí)題將會(huì)給你帶來極大的幫助,如果你能夠完全獨(dú)立的完成這份練習(xí)題,你已經(jīng)入門的Python了,練習(xí)題涵蓋Python基礎(chǔ)的大部分內(nèi)容:

問題1

問題:


編寫一個(gè)程序,查找所有此類數(shù)字,它們可以被7整除,但不能是5的倍數(shù)(在2000和3200之間(均包括在內(nèi)))。獲得的數(shù)字應(yīng)以逗號(hào)分隔的順序打印在一行上。

提示:


考慮使用范圍(#begin,#end)方法。

我的解決方案:Python 3

  • 使用for循環(huán)

l=[]for i in range(2000, 3201): ? ?if (i%7==0) and (i%5!=0): ? ? ? ?l.append(str(i))print ','.join(l)

  • 使用生成器和列表理解

print(*(i for i in range(2000, 3201) if i%7 == 0 and i%5 != 0), sep=",")

問題2

問題:


編寫一個(gè)程序,可以計(jì)算給定數(shù)字的階乘,結(jié)果應(yīng)以逗號(hào)分隔的順序打印在一行上,假設(shè)向程序提供了以下輸入:8然后,輸出應(yīng)為:40320

提示:


如果將輸入數(shù)據(jù)提供給問題,則應(yīng)假定它是控制臺(tái)輸入。

我的解決方案:Python 3

  • 使用While循環(huán)n = int(input()) #input() function takes input as string type#int() converts it to integer typefact = 1i = 1while i <= n:fact = fact * i;i = i + 1print(fact)

  • 使用For循環(huán)n = int(input()) #input() function takes input as string type#int() converts it to integer typefact = 1for i in range(1,n+1):fact = fact * iprint(fact)

  • 使用Lambda函數(shù)n = int(input())def shortFact(x): return 1 if x <= 1 else x*shortFact(x-1)print(shortFact(n))

while True:try: ? ?num = int(input("Enter a number: ")) ? ?breakexceptValueError as err: ? ?print(err)org = numfact = 1while num: ? ?fact = num* fact ? ?num = num - 1print(f'the factorial of {org} is {fact}')

from functools import reducedef fun(acc, item): ? ?return acc*itemnum =int(input())print(reduce(fun,range(1, num+1), 1))

完整練習(xí)題資料,可關(guān)注公眾號(hào);編程小師妹? ?

問題3

問題:


使用給定的整數(shù)n,編寫程序以生成包含(i,ixi)的字典,該字典為1到n之間的整數(shù)(都包括在內(nèi))。然后程序應(yīng)打印字典。假設(shè)向程序提供了以下輸入:8\然后,輸出應(yīng)為:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}

提示:


如果將輸入數(shù)據(jù)提供給問題,則應(yīng)假定它是控制臺(tái)輸入??紤]使用dict()

我的解決方案:Python 3:

  • 使用for循環(huán)

n = int(input())ans = {}for i in range (1,n+1): ? ?ans[i] = i * iprint(ans)

  • 使用字典理解

n = int(input())ans={i : i*i for i in range(1,n+1)}print(ans)# 演進(jìn)try: ? ?num = int(input("Enter a number: "))except ValueError as err: ? ?print(err)dictio = dict()for item in range(num+1): ? ?if item == 0: ? ? ? ?continue ? ?else: dictio[item] = item * itemprint(dictio)

num = int(input("Number: "))print(dict(enumerate([i*i for i in range(1,num+1)], 1)))

這些是第一天解決的問題。對(duì)于基本的初學(xué)者學(xué)習(xí)者來說,上述問題非常容易。我在解決方案中展示了一些簡單的編碼方法。讓我們看看第二天如何面對(duì)和應(yīng)對(duì)新問題。

完整版值得苦練的100道Python經(jīng)典練手題PDF已經(jīng)打包好了,樓下留言:11? 獲取

值得苦練的100道Python經(jīng)典練手題,(附詳細(xì)答案)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
乐安县| 亚东县| 合川市| 楚雄市| 商南县| 黄陵县| 福贡县| 乡城县| 宁阳县| 平顶山市| 钟祥市| 西平县| 蚌埠市| 茂名市| 孟州市| 海盐县| 扎赉特旗| 菏泽市| 丹东市| 武山县| 兴文县| 汕头市| 海城市| 白银市| 延吉市| 宝坻区| 宜宾市| 安庆市| 平远县| 九台市| 乐业县| 乌审旗| 龙川县| 隆昌县| 兴化市| 安龙县| 张家口市| 湛江市| 乌什县| 正蓝旗| 大港区|