icylemonade 发表于 2017-12-24 23:36:56

关于第四课课后作业的问题

temp = input("输入一个整数:")
num = int(temp)
i = 1
while num:
    print(i)
    i = i + 1
    num = num - 1



最后一行,num = num - 1 起到什么作用,为什么加了这一行可以停止无限循环?

aaaly567 发表于 2017-12-24 23:53:20

temp = input("输入一个整数:")
num = int(temp)
我想问的是既然第一句,明确说要输入一个整数了,并且赋值给temp,第二句何必还要int(temp)进行取整呢?

°蓝鲤歌蓝 发表于 2017-12-25 00:07:06

aaaly567 发表于 2017-12-24 23:53
temp = input("输入一个整数:")
num = int(temp)
我想问的是既然第一句,明确说要输入一个整数了,并且赋 ...

input() 函数返回的是一个字符串。你输入 1 ,temp = "1"。 所以要int(temp)

°蓝鲤歌蓝 发表于 2017-12-25 00:12:22

如果 num >0, 不加 num - 1 的话,while num 就会一直为 True; 加 num - 1 的话, num 总会到减到 0 的时候,while num 为 False,就可以退出循环了。

aaaly567 发表于 2017-12-25 00:13:02

°蓝鲤歌蓝 发表于 2017-12-25 00:07
input() 函数返回的是一个字符串。你输入 1 ,temp = "1"。 所以要int(temp)

int(),有把“数字型的字符串”变成数字的功能吗?

icylemonade 发表于 2017-12-25 00:20:34

°蓝鲤歌蓝 发表于 2017-12-25 00:07
input() 函数返回的是一个字符串。你输入 1 ,temp = "1"。 所以要int(temp)

谢谢! 终于明白了

icylemonade 发表于 2017-12-25 00:21:24

°蓝鲤歌蓝 发表于 2017-12-25 00:12
如果 num >0, 不加 num - 1 的话,while num 就会一直为 True; 加 num - 1 的话, num 总会到减到 0 的时 ...

谢谢! 终于明白了

aaaly567 发表于 2017-12-25 00:30:55

°蓝鲤歌蓝 发表于 2017-12-25 00:07
input() 函数返回的是一个字符串。你输入 1 ,temp = "1"。 所以要int(temp)

temp = input("输入一个整数:")
print(temp)
我用这个方法验证运行,发现temp返回的并不是一个字符串,而是数字。

°蓝鲤歌蓝 发表于 2017-12-25 11:00:22

aaaly567 发表于 2017-12-25 00:30
temp = input("输入一个整数:")
print(temp)
我用这个方法验证运行,发现temp返回的并不是一个字符串 ...

字符串数字打印出来是没有引号的,比如说 ‘1’ 打印出来是 1.
你应该用 type(temp) 查看它的类型。

°蓝鲤歌蓝 发表于 2017-12-25 11:01:21

aaaly567 发表于 2017-12-25 00:13
int(),有把“数字型的字符串”变成数字的功能吗?

对的。要是整数才行。
页: [1]
查看完整版本: 关于第四课课后作业的问题