本文目錄一覽:
- 1、兩道python的編程題求代碼
- 2、Python編程題2–水仙花數
- 3、python 編程 求答案!2、3兩題
- 4、一道簡單的python編程題?
- 5、求一道python編程題
- 6、關於python程序設計題的題庫?
兩道python的編程題求代碼
1,第一題:
def same_first_name(name1, name2):
if name1 is None or name2 is None:
print ‘name1 or name2 is None’
elif type(name1) != type([]) or type(name2) != type([]):
print ‘name1 or name2 no list’
elif len(name1) * len(name2) == 0:
print ‘list name1 or list name2 is empty’
elif name1[0] == name2[0]:
return True
else:
return False
print same_first_name([‘John’, ‘Smith’], [‘John’, ‘Harkness’])
print same_first_name([‘John’, ‘Smith’], [‘Matt’, ‘Smith’])
運行結果:
True
False
2,第二題:
def search_closet(items, colour):
out_list = []
for item in items:
if colour in item.split(‘ ‘):
out_list.append(item)
return out_list
print search_closet([‘red summer jacket’, ‘orange spring jacket’, ‘red shoes’, ‘green hat’], ‘red’)
運行結果:
[‘red summer jacket’, ‘red shoes’]
3,說明:
第二題那個
if colour in item:
在我這運行成功的,如果你那不行就把把item按空格’ ‘進行分割為一個list
其次,把第一題的參數判斷的幾個if else,你自己移到第二題上感受下.
Python編程題2–水仙花數
如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一個水仙花數
請按照從小到大的順序輸出 1000 以內的水仙花數(3位數),並用”逗號”分隔輸出結果
python 編程 求答案!2、3兩題
#!/usr/bin/env python
#coding=utf-8
import re
from datetime import datetime as dt, timedelta
import platform
if platform.python_version()[:1] == ‘2’: #判斷python版本是2還是3
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
class Idcard(object):
”’
m = Idcard(‘225122198611134730’)
print(m.sex)
男
m.birth
‘1986-11-13’
m.age
30
”’
def __init__(self,idcard):
self.idcard = idcard
if len(idcard) == 15:
sex, birth = idcard[-1:], ’19’ + idcard[6:12]
elif len(idcard) == 18:
sex, birth = idcard[-2:-1], idcard[6:14]
else:
raise Exception(‘len(idcard) is {} (15/18)’.format(len(idcard)))
self._sex = int(sex) % 2
self._birth = birth
@property
def sex(self):
return u’男’ if self._sex % 2 else u’女’
@property
def age(self):
now, bir = dt.now(), dt.strptime(self._birth, ‘%Y%m%d’)
beforebirth = (now – dt(now.year, bir.month, bir.day)).days 0
return dt.now().year – int(self._birth[:4]) – beforebirth
@property
def birth(self):
return dt.strptime(self._birth, ‘%Y%m%d’).strftime(‘%Y-%m-%d’)
def alignment(str1, space, align = ‘left’):
length = len(str1.encode(‘gb2312’))
space = space – length if space =length else 0
if align == ‘left’:
str1 = str1 + ‘ ‘ * space
elif align == ‘right’:
str1 = ‘ ‘* space +str1
elif align == ‘center’:
str1 = ‘ ‘ * (space //2) +str1 + ‘ ‘* (space – space // 2)
return str1
def main():
fname = ‘customer.txt’
”’
with open(fname, ‘w’) as f:
f.write(“””
鄭文傑 225122198611134730
文萍 225122198912094740
鄭媽媽 225122590303476
鄭爸爸 225122560506471
“””)
”’
newf = ‘ourcustomers.txt’
with open(fname) as f:
s = f.readlines()
L, newL = [re.split(r’\s+’, i.strip()) for i in s], []
for i in L:
if len(i) == 2:
g = Idcard(i[1])
newL.append(‘{}{}{}’.format(
alignment(i[0], 10), alignment(g.sex, 8), g.age))
with open(newf, ‘w’) as f:
f.write(‘\n’.join(newL))
print(‘\n’.join(newL[:100]))
print(‘Customer data has been write into {}’.format(newf))
if __name__ == ‘__main__’:
import doctest
doctest.testmod()
main()
一道簡單的python編程題?
按照題目要求編寫的哥德巴赫猜想的Python程序如下
def IsPrime(v):
if v=2:
for i in range(2,v//2+1):
if v%i==0:
return False
else:
return True
else:
return False
n=int(input(“輸入一個正偶數:”))
if n2 and n%2==0:
for i in range(1,n//2+1):
if IsPrime(i)==True and IsPrime(n-i)==True:
print(“%d=%d+%d” %(n,i,n-i))
else:
print(“輸入數據出錯!”)
源代碼(注意源代碼的縮進)
求一道python編程題
time=”13時4分20秒”
i=time.find(“時”)
hour=time[:i]
j=time.find(“分”)
minute=time[i+1:j]
k=time.find(“秒”)
second=time[j+1:k]
print(‘{0:02s}:{1:02s}:{2:02s}’.format(hour,minute,second))
關於python程序設計題的題庫?
1、average_sum函數的功能為求一批數中大於平均值
sum=0
k=0
for i in range(n):
sum=sum+a[i]
average=sum/n
for i in range:
if(a[i]average):
k=k+a[i]
return k
2、編寫函數fun求一個不多於五位數的正整數的位數
if(m9999):
place=5
elif(m999):
place=4
elif(m99):
place=3
elif(m9):
place=2
else:
place=1
return place
3、請編fun函數,求4*4整形數組的主對角線元素的和
sum=0.0
for i in range(4):
sum+=a[i][i]
return sum
4、已知:一元錢一瓶汽水,喝完後兩個空瓶換一瓶汽水。問:請輸入錢數(大於1的正整數),則根據錢數最多可以喝到幾瓶汽水。
s=0
k=0
while m0:
m=m-1
s=s+1
k=k+1
while k=2:
k=k-2
s=s+1
k=k+1
return s
5、編寫函數fun(x,y),函數的功能是若x、y為奇數,求x到y之間的奇數和;若x、y為偶數,則求x到y之間的偶數和。要求必須使用for結構。
主函數的功能是分別計算如下的值:
(1+3+5+……+777)+(2+4+6+……+888)=???
(1+3+5+……+1111)+(2+4+6+……+2222)=???
(1+3+5+……+1999)+(2+4+6+……+1998)=???
s=0
for i in range(x,y+1,2):
s=s+i
return s
6、編寫函數main 求3!+6!+9!+12!+15!+18!+21!
s=0
for i in range(3,22,3):
r=1
for j in range(1,i+1):
r*=j
s+=r
print(s)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/156429.html