第一次培訓課後作業

2021-10-10 08:11:30 字數 4816 閱讀 5504

這次作業周五前有寫好,但是沒有發是想等著再思考一波看看能不能做完或者改進**。但是週末事情有點多,耽擱了。下面放一下作業。

1、找出1-1000以內的質數

這個題之前有寫過類似的,直接上**吧。

num=

;i=2for i in

range(2

,1001):

j=2for j in

range(2

,i):

if(i%j==0)

:break

else

:print

('1-1000以內的質數有'

+str

(num)

)

執行結果:

2、判斷[0,3,2,1]是否為山脈數值

我覺得這道題,如果單純判斷這個應該是很簡單的,然後寫了乙個通用但同時也侷限(只限四位數字)的**。

num=

a=int

(input

('請輸入第乙個數字'))

b=int

(input

('請輸入第二個數字'))

c=int

(input

('請輸入第三個數字'))

d=int

(input

('請輸入第四個數字'))

[a,b,c,d]

)if a

print

(str

(num)

+'是山脈數值'

)else

:print

(str

(num)

+'不是山脈數值'

)

執行結果:

不過不清楚怎麼一次輸入所有數值。後面是參考了某位兄弟的。

num=

input

("請你輸入乙個陣列:"

)print

([num]

)num=

list

(num)

a=num.pop(0)

b=num.pop(0)

c=num.pop(0)

d=num.pop(0)

if ac and c>d:

print

("該陣列是山脈陣列"

)elif ad:

print

("該陣列是山脈陣列"

)else

:print

("該陣列不是山脈陣列"

)

然後是看了答案之後的**:(果然開始想的太簡單

a =

list

(input

('輸入連續數字'))

jud =

up =

0down =

0#遍歷列表元素判斷該元素位置前是否單調遞增,後是否單調遞減

for j in

range

(len

(a)-1)

: judge =

true

print

('-'*20

,j,'-'*20

) value = a[j+1]

value_p = value

for previous in

range

(j,-1,

-1):

if a[previous]

< value_p:

print

('目前遞增,當前元素為{},上乙個為{}'

.format

(value_p,a[previous]))

value_p = a[previous]

else

: judge =

false

value_n = value

for next_num in

range

(j+2

,len

(a))

:if a[next_num]

< value_n:

print

('目前遞減,當前元素為{},下乙個為{}'

.format

(value_n,a[next_num]))

value_n = a[next_num]

else

: judge =

false

print

('-'*40

)#如果有乙個元素符合山脈陣列,輸出是,反則不是

ifsum

(jud)

>0:

print

('是山脈陣列'

)else

:print

('不是山脈陣列'

)

(。)記錄一下,看的不是很懂。

3、判斷兩個字串是否為換位字串。

這是開始的想法

str1=

str(

input

('請輸入第乙個字串'))

str2=

str(

input

('請輸入第二個字串'))

list1=

list

(str1)

list2=

list

(str2)

a=len

(list1)

b=len

(list2)

if a==b:

for i in list1:

for j in list2:

if i==j:

print

('[{},{}]是換位字串'

.format

(str1,str2)

)break

else

:print

('[{},{}]不是換位字串'

.format

(str1,str2)

)break

else

:print

('[{},{}]不是換位字串'

.format

(str1,str2)

)

好傢伙 結果如下:

看了結果就知道自己錯哪了(。)後面打算複習一下內容再寫。下面是一位小夥伴的結果,記錄一下!

str1=

str(

input

("輸入第乙個字串:"))

str2=

str(

input

("輸入第二個字串:"))

list1 =

list

(str1)

list2 =

list

(str2)

list1.sort(

)list2.sort(

)print

(list1)

print

(list2)

if list1==list2:

print

('[{},{}]是換位字串'

.format

(str1,str2)

)else

:print

('[{},{}]不是換位字串'

.format

(str1,str2)

)

執行結果:

然後是網上搜尋的(第一部分有自己修改):

str1=

str(

input

('請輸入第乙個字串'))

str2 =

str(

input

('請輸入第二個字串'))

list1 =

list

(str1)

list2 =

list

(str2)

i =0

hashtable1 =

dict()

while i <

len(str1)

:if list1[i]

notin hashtable1:

hashtable1[list1[i]]=

0 i +=

1i =

0hashtable2 =

dict()

while i <

len(str2)

:if list2[i]

notin hashtable2:

hashtable2[list2[i]]=

0 i +=

1count =

0for k, v in hashtable1.items():

if k in hashtable1:

count +=

1if count ==

len(hashtable2)

:print

("是換位字元"

)

執行結果

第一次課後作業

我叫張家瑞,學號2018 7041,愛好運動 玩電子遊戲 主頁為 目前可以熟練到1000行的 期末的目標是10000行。二樓烤盤 1 當時想當乙個黑客,就覺得黑客特別nb,我現在就想成為乙個碼農,畢業後想留在瀋陽 2 我現在可以熟練的排介面,也沒有什麼大的優勢就是認學 3 想公升本,可能文化課有一點...

第一次課後作業

2017 7005 我是王紅 我的愛好是看電影 我的碼雲個人主頁是 我的第一專案位址是 目前 量有600行了 我最喜歡紅燒肉 一樓 好好學習,天天向上 1 當初是如何做出選擇計算機專業的決定的?喜歡,計算機比較有前景 你認為過去兩年中接觸到的課程是否符合你對計算機專業的期待,為什麼?是 講的很細緻更...

第一次培訓

位運算的思想就是利用二進位制的運算法則去解決一些問題 例如大數的加或乘 大家可以試想這樣乙個問題 如何求2的10000000000 10個0,1百億 次冪,這裡不考慮計算機資料超出範圍的問題,只是讓大家來試想一下這個問題,常見的做法肯定就是使用迴圈,但這樣肯定會執行很長時間,我們可以做這樣乙個優化先...