Discuss / Python / 求教

求教

Topic source

毛毛爸爸

#1 Created at ... [Delete] [Delete and Lock User]

a=input('please input 一个任意数:   ')

print('您输入的是',a)

if a > 0:

    print('您输入的是整数',a)

else:

    print('您输入的是负数',-a)

          请问有什么不对吗?计算机运行后显示有错误,如:

please input 一个任意数:   6

您输入的是 6

Traceback (most recent call last):

  File "D:/360Downloads/hw.py", line 3, in <module>

    if a > 0:

TypeError: '>' not supported between instances of 'str' and 'int'

>>>

像风_61438

#2 Created at ... [Delete] [Delete and Lock User]

我不知道为什么错,但是我知道怎么改。

把第一行输入改成a=int(input(‘plese input 任意一个数:’))

或者在第一行后面加一句a=int(a)

错因大概是输入没有规定是什么类型,我也是刚刚自学的小白,说的可能不对,如果有问题请指出。但是代码我是改了之后运行过的,没问题。(不要复制我的,评论我用的是中文输入法)

对  int是把用户输入的字符转化为整型

缩进?

a=int(input('数值'))

if a>0:

    print(a)

else:

    print(-a)

我的是这样,可以运行

小阿四

#6 Created at ... [Delete] [Delete and Lock User]

意思是错误在第三行 if a > 0:,py不支持字符串和数字的连接。

你设置的变量a=input('please input 一个任意数:   '),这属于一个字符串,而0属于数字。

所以if a>0不成立。

可以用int,先把a的属性从字符串变成数字:a=int(input('please input 一个任意数:   ')),

或者把0变成字符串:if a>str(0)试下,应该就可以解决了。

小宝DDD

#7 Created at ... [Delete] [Delete and Lock User]

thank you.


  • 1

Reply