day 8-関数-homework
3430 ワード
1.1つの関数を編纂して、1+2+3…+を求めますN
2.1つの関数を作成し、複数の数の最大値を求める
3.関数を作成し、色を振る機能を実現し、n個のサイコロの点数と
4.指定した辞書のkeyとvalueを交換する関数を作成します.例:{'a':1,'b':2,'c':3}--->{1:'a',2:'b',3:'c'}
5.1つの関数を作成し、3つの数の中で最大値
6.関数を作成し、指定した文字列のすべてのアルファベットを抽出し、つなぎ合わせて印刷します.例えば、'12 a&bc 12 d-'-->abcd'の印刷
7.1つの関数を書いて、複数の数の平均値を求める
8.1つの関数を書いて、デフォルトは10の階乗を求めて、その他の数の階乗を求めることができます
9.複数の数に対して異なる演算が可能な関数を書く
def sum2(maxinum:int): #
list1 = [x for x in range(1,maxinum+1)]
sum2 = sum(list1)
return sum2
print(sum2(5))
result:
15
2.1つの関数を作成し、複数の数の最大値を求める
def get_maxinum(*seq): #*seq
list1 = list(seq)
list1.sort()
return list1[-1]
print(get_maxinum(1,5,2,1,90,9))
result:
90
3.関数を作成し、色を振る機能を実現し、n個のサイコロの点数と
import random
def play_dice(num):
list1 = []
count = 0
for n in range(num):
number = random.randint(1,6)
list1.append(number)
count += number
print(' :',list1)
return count
print(' : %d' % play_dice(6))
result:
: [3, 1, 3, 5, 4, 2]
: 18
4.指定した辞書のkeyとvalueを交換する関数を作成します.例:{'a':1,'b':2,'c':3}--->{1:'a',2:'b',3:'c'}
def exchange_key_value(dict1):
dict2 = {}
for n in dict1:
dict2[dict1[n]] = n
return dict2
dict1 = {'a':1,'b':2,'c':3}
print(exchange_key_value(dict1))
result:
{1: 'a', 2: 'b', 3: 'c'}
5.1つの関数を作成し、3つの数の中で最大値
def maxinum2(list1):
list1.sort()
return list1[-1]
list1 = [20,8,15]
print(maxinum2([20,8,15]))
result:
20
6.関数を作成し、指定した文字列のすべてのアルファベットを抽出し、つなぎ合わせて印刷します.例えば、'12 a&bc 12 d-'-->abcd'の印刷
def get_alphabet(str1:str):
str2 = ''
for item in str1[:]:
if item <= 'z' and item >= 'a' or item <= 'Z' and item >= 'A':
str2 += item
return str2
str2 = '12a&bc12d--'
print(get_alphabet(str2))
result:
abcd
7.1つの関数を書いて、複数の数の平均値を求める
def avarage(*seq): #*seq , ,
sum1 = 0
for item in seq[:]:
sum1 += item
return sum1/len(seq)
print(avarage(1,5,2,6,9))
result:
4.6
8.1つの関数を書いて、デフォルトは10の階乗を求めて、その他の数の階乗を求めることができます
def factorial(num=10):
count = 1
for n in range(1,num+1):
count *= n
return count
print(factorial())
print(factorial(11))
result:
3628800
39916800
9.複数の数に対して異なる演算が可能な関数を書く
def operation(str1,*number):
count = 0
count2 = 1
if str1 == '+':
for n in number[:]:
count += n
return count
elif str1 == '-':
count = number[0]
for n in number[1:]:
count -= n
return count
elif str1 == '*':
for n in number[:]:
count2 *= n
return count2
elif str1 == '/':
count2 = number[0] / number[1]
return count2
elif str1 == '**':
count2 = number[0]**number[1]
return count2
elif str1 == '//':
count2 = number[0] // number[1]
return count2
elif str1 == '%':
count2 = number[0] % number[1]
return count2
else:
print(' ')
print(operation('+',2,3,5,6))
print(operation('-',2,3,5,6))
print(operation('*',2,3,5,2))
print(operation('/',2,3))
print(operation('//',2,3))
print(operation('**',2,3))
print(operation('%',2,3))
result:
16
-12
60
0.6666666666666666
0
8
2