這次作業周五前有寫好,但是沒有發是想等著再思考一波看看能不能做完或者改進**。但是週末事情有點多,耽擱了。下面放一下作業。
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百億 次冪,這裡不考慮計算機資料超出範圍的問題,只是讓大家來試想一下這個問題,常見的做法肯定就是使用迴圈,但這樣肯定會執行很長時間,我們可以做這樣乙個優化先...