第二讲课后练习题
1. 按下面要求修改课堂中的 game.py 代码。 ?K)E5f[QxgVGC-v)Z~sY0^BT|A] HzSy;4t
让用户输入这次数学考试的成绩。
如果分数是 100 分,显示:好棒,你离女神又近了一步^_^
如果分数不是 100 分,显示:小子,想要幸福,就得努力!
下面是我写的
temp = input("请输入本次数学考试的成绩:")
if int == 100:
print("好棒,你离女神又近了一步!")
else:
print("小子,想要幸福,就得努力!")
运行结果就是无论输入是否100,都只会显示else的结果
然后对比了小甲鱼的答案如下:
""" 用Python设计第一个游戏 """
temp = input("这次数学考试成绩:")
guess = int(temp)
if guess == 100:
print("好棒,你离女神又近了一步^_^")
else:
print("小子,想要幸福,就得努力!")
print("游戏结束,不玩啦^_^")
对比了下,大概知道是啥原因了但是还是不太理解这里为啥需要加上guess = int(temp), 请大神们解答下啊 没啥用..
但是你写的很错误啊
看注释
temp = input("请输入本次数学考试的成绩:")
if int == 100: #int是什么玩意
print("好棒,你离女神又近了一步!")
else:
print("小子,想要幸福,就得努力!")
正确如下
temp = input("请输入本次数学考试的成绩:")
if int(temp) == 100:#这样才对
print("好棒,你离女神又近了一步!")
else:
print("小子,想要幸福,就得努力!")
第一个代码有错误,你直接输入 int 是个函数体,而这个函数体不可能会等于一个整数的,所以第一个代码的 if 条件永不成立
所以导致你无论输入什么,都只执行 else 的代码块
input 函数是将用户输入的数据转化为 字符串 后返回
int 函数是将其他类型的值转化为整型(整数)
而字符串 '100' 是不等于整型 100 的,这是两个不同类型的数据
所以这里要么把 input 返回的数据转化为整型,要么把 guess == 100 整型数据改成 guess == '100' 字符串数据即可达到同样的效果
guess = int(temp) 是为了将 temp 转化为整数并赋值给 guess,如果照你那么写,int 对象是不可能等于 100 的,你应该先将 temp 转化为整型再跟整型比较:
temp = input("请输入本次数学考试的成绩:")
if int(temp) == 100:
print("好棒,你离女神又近了一步!")
else:
print("小子,想要幸福,就得努力!")
Hello. 发表于 2020-7-19 22:55
没啥用..
但是你写的很错误啊
看注释
感谢大神解答~! Twilight6 发表于 2020-7-19 23:00
第一个代码有错误,你直接输入 int 是个函数体,而这个函数体不可能会等于一个整数的,所以第一个代码 ...
感谢大神解答 zltzlt 发表于 2020-7-20 06:31
guess = int(temp) 是为了将 temp 转化为整数并赋值给 guess,如果照你那么写,int 对象是不可能等于 100...
感谢大神解答~
页:
[1]