python想问一个问题 怎么控制输入

P1957 口算练习题

> 保持数据原来的类型 不会的。第一种若合法输入,x y z 也会是字符串。你要手动用 `int` 函数转换成整数 > 怎么才能一行输入三个,下一行输入两个 可以先读一行,split 成列表,然后用 `len` 检查列表的大小 ``` l = input().split() if len(l) == 2: pass # do sth else: pass # do sth ```
by Zjl37 @ 2021-09-02 11:10:56


@[wykun1234](/user/484283) 我写了一个比较丑的代码 ```python _=int(input()) a="" for i in range(_): b=input().split() c=0 d=0 if b[0]=='a' or b[0]=='b' or b[0]=='c': a=b[0] c=int(b[1]) d=int(b[2]) else: c=int(b[0]) d=int(b[1]) if a=='a': s=str(c)+"+"+str(d)+"="+str(c+d) print(s) print(len(s)) if a=='b': s=str(c)+"-"+str(d)+"="+str(c-d) print(s) print(len(s)) if a=='c': s=str(c)+"*"+str(d)+"="+str(c*d) print(s) print(len(s)) ``` 这个题目感觉不是很适合用python
by 45dino @ 2021-09-02 11:18:34


@[45dino](/user/240812) 好的明白啦,十分感谢!
by wykun1234 @ 2021-09-02 15:20:19


@[Zjl37](/user/267933) 输入这里困惑我好久。现在明白了,十分感谢!
by wykun1234 @ 2021-09-02 15:23:24


@[45dino](/user/240812) ``` 蒻蒻疑问 如果只有两个数就沿用上一运算类型这个要求在哪实现的? 没看出来0.0 dalao能不能解答一下,十分感谢! ```
by zzzxns1 @ 2023-03-05 23:11:14


@[zzzxns1](/user/929115) 就是如果是读入的这一行(b)的第一个是 a,b,c 的话,说明是三个,否则就说明是两个
by 45dino @ 2023-03-05 23:19:29


@[45dino](/user/240812) ``` 好像知道啦,是 a = b[0] 这个 如果3个就正常,2个就 a 没变化就等于沿用上一种运算吧
by zzzxns1 @ 2023-03-05 23:28:08


差不多吧(?)
by 45dino @ 2023-03-05 23:40:14


|