Lucky_232 2022-05-27 23:10 采纳率: 0%
浏览 11

基于补获异常的一系列问题

python
1.用input输入信息全部转化为str型-怎么能用户输入什么类型就是什么类型
2.在try中虽然引用lis(a),但是实际运行结果没有达到lis(a)的用途
3.运行结果会根据我输入的字符串个数打印几遍,但我只想打印一遍
代码:
class MyException(Exception):
def init(self,message):
super().init(message)

def lis(a):
for i in a:
if type(i) is not str:
raise MyException('列表类型不符')
if len(a)>10 and len(a)<5:
raise MyException('长度不符')
else:
print(a)

try:
k=int(input('输入字符串长度:'))
b=[]
for i in range(k):
b.append(input('请按次序输入列表元素:'))
lis(b)

except MyException as e:
print(e)

  • 写回答

1条回答 默认 最新

  • __程序喵__ 2022-05-28 10:36
    关注

    input输入的信息就是str,需要手动转换。
    如果想实现<输入什么类型就是什么类型>的功能可以在try里使用eval,即执行传入的字符串表达式。
    eval("1")会返回1,而eval("[1, 2, \"3\"])会返回[1, 2, "3"]

    评论

报告相同问题?

问题事件

  • 创建了问题 5月27日

悬赏问题

  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询