zltzlt 发表于 2020-2-16 21:14:37

Python:每日一题 333

本帖最后由 zltzlt 于 2020-2-16 21:24 编辑

今天的题目:

给定一个字符串,返回字符串中字母的 ASCII 码最大的而且同时在字符串中出现大写和小写的字母(返回大写字母)。

如果不存在这样的字母则返回 '~'。

示例 1:

输入:"aAbBcD"
输出:"B"
示例 2:

输入:"looGVSSPbR"
输出:"~"

{:10_298:}欢迎大家一起答题!{:10_298:}

冬雪雪冬 发表于 2020-2-16 21:23:52

示例1结果不应该是”D“吗?

zltzlt 发表于 2020-2-16 21:24:47

冬雪雪冬 发表于 2020-2-16 21:23
示例1结果不应该是”D“吗?

犯了个小错误{:10_245:}

冬雪雪冬 发表于 2020-2-16 21:29:19

def func(str1):
    list1 = list(str1)
    list1.sort(reverse = True)
    for each in list1:
      if each.isupper():
            return "~"
      if each.upper() in list1:
            return each.upper()

zltzlt 发表于 2020-2-16 21:31:00

冬雪雪冬 发表于 2020-2-16 21:29


输入以下数据返回的是 None :

"qsgrqngjupumrwkrfexznulmfyvniptzgatcqhtlrdrljhuvhbknlggxfwblkigcikgufovjtrpbzwpzmmnjkmmgakmohwgjtptzozqlprcmusckbigdbwswszauybezwccjmbqjmrrgodytzrhhhpzfcrqnqnkeighyynhrtvcsyiynrfogwkqcsjuwkmipwpuonvpvbcningpoxbbllbnftcjtsmpbpfddglqgfzpwsbboueyuftxewkdtyvvlsjcqwethrlesomuxntonpxbeabzsjcxpcknemneoqyvlwzpkjtftgjjdqinsnyvhbhtzpywxqwzilbkihaeqrparegqkjqkjekezdicltsuvztjbqoocrwgnbwmcomesxbunhmsyxnpippajvybcdppofmeincxhikpvmyoyeeoftctmhvteitflfmynrncngzfthxduthqzkjkhqdqjykxltavdyktyoiwyzymfjonxmyzyhwsvgxbtmifkbuhlelmefxtcjrubripfqjqcdbconqupshsebsgzqtzrzmmnfjcjhigdyetnagggxrbvfpygczegedkftiqbzhvcatqjcifczqorlncdgfibjglaxazlvcxjcclqbginbwvafxaxdbbgznlerbnrrizpzesgegalodsqqggammpvnqxroqqsaudmpotfvgjttndzryaykjoeesfoisaqcsgmjosyjykposxixvuwulclfsvledzpqjgcrcvszhravwtsjkcodokgyvbvrxmdqqgzefpdkyokbsfpdmyadugqkzjovqjxdbofqxkppffpolyfynxnbltqishyfopsihxydkaqvvymncseymdyzvinvbnazjjstetcdentulfnbndnkcwtaizpmfxiojtnpdejfmpkttpsleflgzwaaquvmnljemzfuzobrtwpoesaygwxtyhbutivunopyckftuxybhapravbgosmiqncjtel"

冬雪雪冬 发表于 2020-2-16 21:34:09

修改了。
def func(str1):
    list1 = list(set(str1))
    list1.sort(reverse = True)
    for each in list1:
      if each.isupper():
            return "~"
      if each.upper() in list1:
            return each.upper()
    return "~"

zltzlt 发表于 2020-2-16 21:36:07

冬雪雪冬 发表于 2020-2-16 21:34
修改了。

59 ms

一个账号 发表于 2020-2-16 21:36:20

冬雪雪冬 发表于 2020-2-16 21:23
示例1结果不应该是”D“吗?

是 “B” 呀

一个账号 发表于 2020-2-16 21:46:08

本帖最后由 一个账号 于 2020-2-16 21:49 编辑

修改了:

def func(str1):
    list1 = []
    list2 = []
    for i in str1:
      if i.isupper():
            if i.lower() not in list1:
                list1.append(i)
            else:
                list2.append(i)
      else:
            if i.upper() not in list1:
                list1.append(i)
            else:
                list2.append(i)

    if list2 == []:
      return "~"
    return max(list2)

zltzlt 发表于 2020-2-16 21:46:59

一个账号 发表于 2020-2-16 21:46


输入 "aAbBcD" 结果有错

此帐号已被注销 发表于 2020-2-16 21:48:38

string = input('请输入字符串:')
ASCII_max = 0

for each in string :
    iford(each) in range(65, 91) and chr(ord(each) + 32) in string and ord(each) > ASCII_max:
      ASCII_max = ord(each)
      
    if ord(each) in range(97, 123) and chr(ord(each) - 32) in string and ord(each) > ASCII_max:
      ASCII_max = ord(each)
      

if ASCII_max in range(65, 91):
    print(chr(ASCII_max))
   
elif ASCII_max in range(97, 123):
    print(chr(ASCII_max - 32))
else :
    print('~')
感觉写的太长了(很多字符串函数没记住){:10_243:}

zltzlt 发表于 2020-2-16 21:49:21

此帐号已被注销 发表于 2020-2-16 21:48
感觉写的太长了(很多字符串函数没记住)

100 ms

一个账号 发表于 2020-2-16 21:49:54

zltzlt 发表于 2020-2-16 21:46
输入 "aAbBcD" 结果有错

修改了

zltzlt 发表于 2020-2-16 21:50:21

一个账号 发表于 2020-2-16 21:46
修改了:

解答错误

输入:"PXaBCbhlsFuVfhUeuWnY"
输出:'f'
预期结果:'U'

一个账号 发表于 2020-2-16 21:54:31

zltzlt 发表于 2020-2-16 21:50
解答错误

输入:"PXaBCbhlsFuVfhUeuWnY"


def func(str1):
    list1 = []
    list2 = []
    list3 = []
    for i in str1:
      if i.isupper():
            if i.lower() not in list1:
                list1.append(i)
            else:
                list2.append(i)
      else:
            if i.upper() not in list1:
                list1.append(i)
            else:
                list2.append(i)
               
    for i in list2[:]:
      list3.append(ord(i.lower()))

    if list3 == []:
      return "~"
   
    return chr(max(list3)).upper()

zltzlt 发表于 2020-2-16 21:54:50

一个账号 发表于 2020-2-16 21:54


101 ms

kinkon 发表于 2020-2-16 22:16:52

本帖最后由 kinkon 于 2020-2-16 22:53 编辑

def f333(s):
    s = set(s)
    st = sorted()[::-1]
    for i in st:
      if i.upper() in s:
            return i.upper()
    return "~"

840613937 发表于 2020-2-16 22:18:48

840613937 发表于 2020-2-16 22:38:36

William4869 发表于 2020-2-16 22:38:50

本帖最后由 William4869 于 2020-2-17 09:01 编辑

def f333(s):
    set1=set(s)
    list1=list(set1)
    list1.sort()
    len1=len(list1)
    for i in range(len1):
      if list1<='z'and list1>='a':
            a=chr(ord(list1)-32)
            if a in set1:
                return a
      else:
            return '~'
    return '~'
               


来迟了
页: [1] 2 3 4
查看完整版本: Python:每日一题 333