挑戰任務
本關挑戰任務是對乙個陣列進行排序,排序需要遵守一些規則,比如給出一組資料5,
1,4,
2,3,我們從第二個數字開始,這個數字是
1,我們的任務是看看
1有沒有在正確的位置,我們的做法是和這個數字左邊的數字來比,因此我們比較1和
5,1比
5小,所以交換1和
5,原來的排列就變成了1,
5,4,
2,3。
接下來我們看第三個數字有沒有在正確的位置。這個數字是
4,它的左邊數字是5,
4比5小,所以我們將4和
5交換,排列變成了1,
4,5,
2,3我們必須繼續看
4有沒有在正確的位置,
4的左邊是1,
1比4小,
4就維持不動了。
按照這種規則依次給整個陣列排序,並將排序過程列印到控制台。
程式設計要求
請在右側編輯器中填充**,補全
sort(xlist)
函式,實現指定的排序功能,並列印出排序過程,函式引數說明如下:
xlist
:待排序的陣列
測試說明
樣例1:
輸入:
1 5 4 3 2 6
輸出:樣例2:
輸入:
2 8 7 1 3 5 6 4
輸出:開始挑戰吧,祝你成功!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
x = input()
xlist = x.split(' ')
#print(xlist)
for i in range(0,len(xlist)):
xlist[i] = int(xlist[i])
def sort(xlist):
length = len(xlist)
for i in range(1, length):
x = xlist[i]
for j in range(i, -1, -1):
# j為當前位置,試探j-1位置
if x < xlist[j - 1]:
xlist[j] = xlist[j - 1]
else:
# 位置確定為j
break
xlist[j] = x
print(' '.join(map(str, xlist)),end='')
print(' ')
sort(xlist)
挑戰任務小明在高新區上班,因為是產業園區,公司很多,日常耗電量非常大,所以電力局決定在今年7、8月份對該區域拉閘斷電,電力局決定從7月1日起,然後隔一天到7月3日再停電,再隔兩天到7月6日停電,依次下去每次都比上一次長一天。
因為如果停電就意味著不用上班,所以小明他們公司決定7,8月的週末就不休息了,小明現在很想知道他在乙個時間段內可以有多少天不用上班,請幫小明來計算一下吧。
例如:輸入開始日期:
7-1輸入結束日期:
7-4應該輸出:2
程式設計要求
請在右側編輯器中填充**,根據輸入的開始日期和結束日期來計算小明不用上班的天數(日期限定在7、8月份),將天數作為函式
getdaynum(starttime,endtime)
的返回值返回;函式引數說明如下:
starttime
:開始日期
endtime
:結束日期
測試說明
樣例1
輸入:7-1
7-4
輸出:2
樣例2
輸入:7-4
7-11
輸出:3
開始你的任務吧,祝你成功!
# -*- coding: utf-8 -*-
# 從鍵盤獲取字串日期
starttime = '7-1'
endtime = '8-31'
def daytoint(time):
if(time[0] == '7'):
time = int(time[2:])-1
if(time[0] == '8'):
time = int(time[2:])+30
return time
def getdaynum(starttime, endtime):
standard =
for i in range(1,11):
for j in range(i):
# print(len(standard[0:61]))
starttime = daytoint(starttime)
endtime = daytoint(endtime)
new_list = standard[starttime:endtime+1]
print(new_list)
count = len([i for i in new_list if i==0])
print(count)
getdaynum(starttime, endtime)
挑戰任務小明在高新區上班,因為是產業園區,公司很多,日常耗電量非常大,所以電力局決定在今年7、8、9月份對該區域拉閘斷電,電力局決定從7月1日起開始停電,然後隔一天到7月3日再停電,再隔兩天到7月6日停電,依次下去每次停電時間都比上一次長一天。
因為如果停電就意味著不用上班,所以小明他們公司決定7,8、9月的週末就不休息了,小明現在很想知道在7、8、9月份中的某一天是否是休息日,請編寫程式告訴他吧。
例如:輸入日期:
7-1應該輸出:
true
程式設計要求
請在右側編輯器中填充**,補全
ispowercut(inputdate)
函式,根據輸入的日期來判斷小明是否不用上班(日期限定在7、8、9月份)將結果作為函式的返回值返回,休息則返回
true
,上班則返回
false
。函式引數說明如下:
inputdate
:輸入的日期。
測試說明
樣例1
輸入:7-1
輸出:true
樣例2
輸入:7-2
輸出:false
開始你的任務吧,祝你成功!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
inputdate = '9-30'
def daytoint(time):
if(time[0] == '7'):
time = int(time[2:])-1
if(time[0] == '8'):
time = int(time[2:])+30
if(time[0] == '9'):
time = int(time[2:])+61
return time
def ispowercut(inputdate):
standard =
for i in range(1,14):
for j in range(i):
#print(len(standard))
time = daytoint(inputdate)
if standard[time] == 1:
return 'false'
if standard[time] == 0:
return 'true'
print(ispowercut(inputdate))
注:我沒有考慮生成的列表長度等於幾個月的日期長度,並不精確,可以考慮改善一 python複習第一階段
linux基礎命令 cd 切換目錄和路徑 pwd 檢視當前路徑 clear 清屏 mv 移動 剪下 重新命名檔案 ls 檢視當前資料夾下的內容 ls a 顯示指定目錄下所有子目錄和檔案,包括隱藏檔案 ls l 以列表方式顯示檔案的詳細資訊 touch 建立檔案 mkdir 建立目錄 mkdir p ...
第一階段練習
1 輸入乙個整數,把該整數分別按照八進位制 十進位制 十六進製制形式輸出 include stdio.h main 2 輸入乙個小數 整數部分3位 小數部分5位 把該小數分別按照以下格式輸出 小數部分4位寬度,整個數字8位寬度 小數部分3位寬度,整個數字9位寬度,空白部分使用0填充 include ...
第一階段 2015 12 2016 03
距離上一次寫部落格,大半年就過去了,這半年,都做了些什麼呢,生活又都有些什麼變化呢。2015的下半年是收穫的半年吧。第二,學ios的過程中結識了新的朋友,耳機哥,是很棒的一件事。第三,得到了乙份很美滿的愛情。最終在一起,還好沒錯過。第四,開始正視自己的不足,不再逃避,開始認真製作簡歷,並開始找工作,...