唐人123 发表于 2021-7-24 19:26:35

数据类型

temp = int(input('请输入一个整数:'))
for i in range(1,temp+1):
    print(i)
(问题:这几行代码中,第一行中如果缺少一个int,为什么会直接报错,是因为python自身不能识别此数据类型吗?)

basketmn 发表于 2021-7-24 19:31:24

input输出的是字符串类型

redforce 发表于 2021-7-24 19:31:34

input('请输入一个整数:')
这里输入的是一个字符,python识别为字符串类型
range里要两个int类型,所以需要转换一下数据类型

3236654291 发表于 2021-7-24 19:39:46

temp = input('请输入一个整数:')#如果删除int,temp就是字符串
for i in range(1,temp+1):#字符串无法+1,因此报错
    print(i)

Python初学者8号 发表于 2021-7-24 19:56:55

本帖最后由 Python初学者8号 于 2021-7-24 19:59 编辑

你可以打开idle的按住F1搜索“input()”,然后你会看到这个
input()
If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that.

这个意思就是:
        input(‘这是一个提示性的字符串’)
这个函数,本身的作用是读取一个字符串,该字符串从括号中的字符串‘这是一个提示性的字符串’显示完毕之后开始,然后在你按住回车之后作为结束,并且将这个字符串当做本次调用input函数的输出结果

一句话,不加int后,你的tmep是一个字符串类型。所以,字符串temp不可以有加1这个操作的,所以,就将其变为数字咯——也即为int(tempt)

柿子饼同学 发表于 2021-7-24 20:51:42

input函数的返回值是字符串
而python是不允许让字符串和整数相加的(没有意义)
所以需要int函数把返回值转换成整数
这样相加就好啦
页: [1]
查看完整版本: 数据类型