input问题求助
一、print(type(input()))8
<class 'str'>
n = input()
print(type(n))
8
8
为什么上面的是显示输入的类型是字符型
下面的则变为了8?
二、
n = input()
s = "〇一二三四五六七八九"
for c in "0123456789":
if eval(n) == int(c) : # 这里 if int(n) == int(c) : 都是显示错误 ? 将输入的内容转为数值,显示错误
n = s
print(n)
显示错误如下 :
Traceback (most recent call last):
File "D:\xhktSoft\python\xhkt\考生文件夹\PY102.py", line 11, in <module>
if int(n) == int(c) :
ValueError: invalid literal for int() with base 10: '八'
谢谢! 一.我去运行了你的代码,发现跟你说的不一样
D:\command\Python>python test.py
8
<class 'str'>
D:\command\Python>
二.
n = input()
s = "〇一二三四五六七八九"
for c in "0123456789":
if eval(n) == int(c) : # 这里 if int(n) == int(c) : 都是显示错误 ? 将输入的内容转为数值,显示错误
n = s
break
print(n) 临时号 发表于 2022-7-24 18:09
一.我去运行了你的代码,发现跟你说的不一样
二.
感谢,第一个 我直接在IDLE 写的,没显示出字符型,但是新建了文件写文件 里又能显示。第二个 加break,我懂了,谢谢你,找到了原因了,变量n 已经赋值了,所以不能再进行eval(),谢谢你!
页:
[1]