元豪 发表于 2022-9-12 14:31:18

字符串题目求助

本帖最后由 元豪 于 2022-9-12 14:48 编辑

问: 判断一个字符串是否包含英文, 如果有, 返回第一个字母下标和最后一个字母下标.

如:
a = '01234ABCabc@$#$%'

返回:
5, 10

推荐简短

临时号 发表于 2022-9-12 14:45:49

本帖最后由 临时号 于 2022-9-12 16:14 编辑

a,start = '01234ABCabc@$#$%',-1
for i in range(len(a)):
    if 'A' <= a <= 'z' and start == -1:
      start = i
    elif 'A' <= a <= 'z':
      end = i
print(start,',',end)

jackz007 发表于 2022-9-12 14:47:20

本帖最后由 jackz007 于 2022-9-12 15:05 编辑

a , c = '01234ABCabc@$#$%' , -1
for i in range(len(a)):
    if a . isalpha():
      d = i
      if c < 0:
            c = i
print(c , ',' , d) if c >= 0 else print('not found .')

dolly_yos2 发表于 2022-9-12 15:01:05

本帖最后由 dolly_yos2 于 2022-9-12 15:16 编辑

一个不太优美的一行方法
}, {r[-1]}') if len(r) > 0 else print('not found') for r in .isalpha() else None for i in range(len(a))]))]]

一个可能稍好一点的方法
import re;(.*)?', a, re.DOTALL)]]

元豪 发表于 2022-9-12 15:16:33

dolly_yos2 发表于 2022-9-12 15:01
一个不太优美的一行方法


为什么会有?{:5_94:}

dolly_yos2 发表于 2022-9-12 15:19:03

元豪 发表于 2022-9-12 15:16
为什么会有?

因为您使用的是交互式 shell ,这一行表达式求值的结果会被打印出来
如果从文件运行就只会打印 print 中的部分

zhangjinxuan 发表于 2022-9-12 17:55:19

a = input() #读入
first_pos = last_pos = -1 #初始化变量
now_pos = 0
for i in a: #字符串遍历
      ascii_code = ord(i) #获取ascii码
      if 97 <= ascii_code <= 122 or 65 <= ascii_code <= 90: #判断是否是英文字母,122是'z'的ascii码,97是'a'的ascii码,90是'Z'的ascii码,65是'A'的ascii码
                last_pos = now_pos #更新答案
                if first_pos == -1: #如果first_pos == 1,就是这是第一个遇到的英文字母
                        first_pos = now_pos #更新答案
      now_pos += 1 #当前位置后移一位
if first_pos == -1: #未找到,输出未找到
      print("Not have English letters")
else: #找到了,答案输出
      print(first_pos, last_pos, sep = ', ')

元豪 发表于 2022-9-12 18:04:47

zhangjinxuan 发表于 2022-9-12 17:55


emm......你这东西怎么用啊?{:10_262:}

zhangjinxuan 发表于 2022-9-12 18:09:47

元豪 发表于 2022-9-12 18:04
emm......你这东西怎么用啊?

输入一个字符串就可以了啊

元豪 发表于 2022-9-12 18:12:09

zhangjinxuan 发表于 2022-9-12 18:09
输入一个字符串就可以了啊

在哪输入捏?
{:5_94:}

zhangjinxuan 发表于 2022-9-12 18:12:24

???????????????
页: [1]
查看完整版本: 字符串题目求助