kankandashen
看大神
围观
def average(string):
nums = str.split(string,' ')
correspond = ['one','two','three','four','five',
'six','seven','eight','nine']
n_sum = 0
for each in nums:
if each in correspond:
n_sum = n_sum+correspond.index(each)+1
else:
return 'n /a'
a_num = n_sum/len(nums)
return correspond
if __name__=='__main__':
e_num = input('input your english numbers:')
result = average(e_num)
print(result)
不知道
看看答案
n/a 不大会做,其他的代码用for循环打了一下
def average_string(str1):
num = {'zero':0,'one':1,'two':2,'three':3,'four':4,'five':5,'six':6,'seven':7,'eight':8,'nine':9}
list1=[]
for i in num:
if i in str1:
list1.append(num.get(i))
average = 0
for i in list1:
average+=i
average = average/len(list1)
return average
{:5_91:}
看看大神
def average_string(string):
english = ['zero','one','two','three','four','five','six','seven','eight','nine']
newList =
numberList = []
for word in newList:
if word in english:
numberList.append(english.index(word))
else:
print('n / a')
return None
print(english)
average_string('one three two')
average_string('five five five')
average_string('ku fthj two')
def average_string(i):
sum=0
a=['zero','two','one','three','four','five','six','seven','eight','nine']
b=
d=dict(zip(a,b))
e=i.split()
for each in e:
if each in a:
sum=sum+d
else:
return 'n/a'
return sum/len(e)
本帖最后由 凌九霄 于 2018-3-31 23:44 编辑
def average_string(s):
stringN = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
num = 0
i = 0
lst = s.split(" ")
for x in lst:
if x in stringN:
num += stringN.index(x)
if num > 9 :
return 'n/a'
break
i += 1
else:
return 'n/a'
return stringN
def average_string(x,y,z):
list1 = ['zero','one','two','three','four','five','six','seven','eight','nine']
while x in list1 and y in list1 and z in list1:
sum1 = list1.index(x) + list1.index(y) + list1.index(z)
return sum1
else:
print('n/a')
def average_string(num):
num=str(num)
list_num=['zero','one','two','three','four','five','six','seven','eight','nine']
m=0
n=0
for i in list_num:
p=num.count(i)
m+=p*list_num.index(i)
n+=p
num=num.replace(i,'')
k=0
if num.count(' ')==len(num):
print(list_num)
else:
print('n/a')
average_string('one two six')
average_string('dad six')
观摩
啊啊啊所
本帖最后由 jiaozhu80 于 2018-8-27 20:10 编辑
def average_atring(string):
m={"one":1,"two":2,"three":3,"four":4,"five":5,"six":6,"seven":7,"eight":8,
"nine":9,"zero":0}
list1=string.split()
sum=0
for a in list1:
if a in m.keys():
sum+=m.get(a)
else:
return "n/a"
average=int(sum/len(list1))
for key,value in m.items():
if average == value:
average=key
return average
不相同的地方,很多很多
dict1 = {"zero":0,
"one":1,
"two":2,
"three":3,
"four":4,
"five":5,
"six":6,
"seven":7,
"eight":8,
"nine":9}
def fun78(str1):
list1 = str1.split(" ")
list2 = []
for each in list1:
try:
temp = dict1
except:
return "n / a"
list2.append(temp)
avg = sum(list2) // (len(list2))
for key,value in dict1.items():
if avg == value:
return key
print(fun78("one nine two"))
print(fun78("one ten two"))
1