入门 python变量已经定义,为什么报错

图片说明
1. birth已经定义,为什么报错
2. 按照代码扫描顺序,在终端中为何不先执行 input('请输入姓名:')

我用了scan() 会报NameError: name 'scan' is not defined这个错
并且可以执行input('请输入姓名:'),是不是编译器的问题?你用的什么编译器呀?
不用scan() 就是正确的
可能是因为这个错误,让编译器觉得你没有定义birth

学会看 报错信息 birth未定义

请问scan()函数是干嘛用的

我把代码改成这样,问题就解决了

 print("请输入姓名:")
name = input()
print("请输入年份")
year = input()
birth = 2018 - int(year)
print(name, '同学给你好', '年龄为', birth)

控制台输入name 和 year之间要用空格隔开

保存提示birth未定义,可以尝试这样修改即可,望采纳,谢谢!!!

print("请输入姓名:")
name = input()
print("请输入年份")
year = input()
birth = 2018 - int(year)
print(name, '同学给你好', '年龄为', birth)

不要要那个scan()

问题1: 关于birth已经定义,为什么报错?
答:birth 在你的debug中并未成功定义,可见下图绿色方框,系统并没找到year,故而后未成功给bitch赋值。
图片说明
问题2: 按照代码扫描顺序,在终端中为何不先执行 input('请输入姓名:')
答: 请将完整执行过程至结果完整贴出。个人重现你的代码是scan函数不知从何导入,作用不明。重现过程与结果见下图
图片说明