鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 78(答题领鱼币)

[复制链接]
发表于 2017-8-31 05:51:23 | 显示全部楼层
kankandashen
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-2 19:54:03 | 显示全部楼层
看大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-2 20:00:16 | 显示全部楼层
围观
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-4 12:47:38 | 显示全部楼层
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[int(a_num)-1]
    
if __name__=='__main__':
    e_num = input('input your english numbers:')
    result = average(e_num)
    print(result)
    
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 19:32:02 From FishC Mobile | 显示全部楼层
不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-12 08:46:41 From FishC Mobile | 显示全部楼层
看看答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-16 11:34:10 | 显示全部楼层
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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-24 19:49:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-26 09:59:39 | 显示全部楼层
看看大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-4 17:13:21 | 显示全部楼层
def average_string(string):
    english = ['zero','one','two','three','four','five','six','seven','eight','nine']
    newList = [i.lower() for i in string.split(' ')]
    numberList = []
    for word in newList:
        if word in english:
            numberList.append(english.index(word))
        else:
            print('n / a')
            return None
    print(english[sum(numberList)//len(numberList)])

average_string('one three two')
average_string('five five five')
average_string('ku fthj two')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 19:05:43 | 显示全部楼层
def average_string(i):
    sum=0
    a=['zero','two','one','three','four','five','six','seven','eight','nine']
    b=[0,1,2,3,4,5,6,7,8,9]
    d=dict(zip(a,b))
    e=i.split()
    for each in e:
        if each in a:
            sum=sum+d[each]
        else:
            return 'n/a'
    return sum/len(e)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 23:40:14 | 显示全部楼层
本帖最后由 凌九霄 于 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[int(num / i)]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 16:56:33 | 显示全部楼层
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')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-18 13:17:00 | 显示全部楼层
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[int(m/n)])
    else:
        print('n/a')
average_string('one two six')
average_string('dad six')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-18 16:51:05 | 显示全部楼层
观摩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-21 13:43:42 | 显示全部楼层
啊啊啊所
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-27 20:07:05 | 显示全部楼层
本帖最后由 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
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-28 12:08:06 | 显示全部楼层
不相同的地方,很多很多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-26 15:44:19 | 显示全部楼层
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[each]
        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"))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-26 16:24:23 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 06:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表