提示invalid token错误,怎么改啊。我感觉不止这一个错误但是平时上课没认真听……
4条回答 默认 最新
- 梦幻精灵_cq 2023-12-04 18:00关注
- 您第15line和17line都是同样的语法错误,python中数值型对象是不可以有前导0的。如:
您的b本应该是字符串str对象,python中的str对象,都是要包裹在一对引号中的(单、双、三引号都可以。)不同的引号可以实现相互包裹,也就是引号嵌套,内层的引号对,是字符串的一部分,最外层那一对引号才是“python关键字”,不是字符串中内容。
- 可以从股票代码六位字符分析:从股票代码分类表可知,首位只可以是6、0、3,第二位只可以是0、8,第三位可以为0、1、2、3、8;后三位可以是任意数字字符。据此可以将前三位和后三位分开判断。
代码运行效果截屏图片
python代码
def isDm(s): ''' 判定股票代码合法性 ''' dmDict = {'601': '沪市A股', '602': '沪市A股', '603': '沪市A股', '000': '深市A股', '688': '科创板', '002': '中小板', '300': '创业板'} # 股票分类字典。 a, b = dm[:3], dm[3:] # 分割代码字符串为前后三位。 #print(a, b) #代码调试用语句。 for i in b: # 先判定后三位。 if not i.isdigit(): # 后三位如有非数字字符,直接返回“NO”。 return '2NO' for i in zip(a, [list('603'), list('08'), list('01238')]): # 再判定前三位。 if i[0] not in i[-1]: # 如果前三位不是应有数字字符,返回“NO”。 #print(i) #代码调试用语句。 return '1NO' return dmDict.get(a) # 如果输入股票代码合法,返回其分类。 if __name__ == '__main__': dm = input('\n输入:\n').strip() print(f"\n输出:\n{isDm(dm)}")
- 正则通配判定,代码更简洁
python代码
def isDm_re(dm): ''' 用正则通配判定 ''' from re import findall # 加载re.findall方法。 reExp = r'[036][08][01238]\d{3}' if ''.join(findall(reExp, dm)) != dm: return 'NO' else: return dmDict.get(dm[:3]) if __name__ == '__main__': dm = input('\n输入:\n').strip() dmDict = {'601': '沪市A股', '602': '沪市A股', '603': '沪市A股', '000': '深市A股', '688': '科创板', '002': '中小板', '300': '创业板'} # 股票分类字典。 print(f"\n输出:\n{isDm(dm)}\n正则通配判定:{isDm_re(dm)}")
解决 无用评论 打赏 举报 编辑记录 - 您第15line和17line都是同样的语法错误,python中数值型对象是不可以有前导0的。如:
悬赏问题
- ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
- ¥15 安装quartus II18.1时弹出此error,怎么解决?
- ¥15 keil官网下载psn序列号在哪
- ¥15 想用adb命令做一个通话软件,播放录音
- ¥30 Pytorch深度学习服务器跑不通问题解决?
- ¥15 部分客户订单定位有误的问题
- ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
- ¥15 Bug traq 数据包 大概什么价
- ¥15 在anaconda上pytorch和paddle paddle下载报错
- ¥25 自动填写QQ腾讯文档收集表