Python第五课课后作业问题——改进我们的小游戏
本帖最后由 焰珺晴 于 2020-3-22 18:41 编辑四个问题求大佬解答
1. guess = 0的作用是什么,设guess = 1-9 有什么区别?之后guess就赋值了,为什么之前要赋值?
2. temp = input() temp什么意思?前面是一个字符串(字符串不是用单引号才能定义的吗),guess是变量(后面赋值了),temp不是变量对吗?
内置函数input()括号里面为什么不加东西
3. if temp.isdigit()[这里面的括号也不加东西]
temp.isdigit(),所有字符都是数字,为真返回 True,否则返回 False【数字还是整数?如果我输入小数得到的输入有误】
4. guess = int(temp)把temp转化为整形的目的是什么呢?
代码如下
import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
guess = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
temp = input()
if temp.isdigit():
guess = int(temp)
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
if times > 1:
print("再试一次吧:", end='')
else:
print("机会用光咯T_T")
else:
print("抱歉,您的输入有误,请输入一个整数:", end='')
times = times - 1 # 用户每输入一次,可用机会就-1
print("游戏结束,不玩啦^_^")
1,temp就是一个单纯的变量,用于存放用户输入的值
2,input为什么非要加东西?不加东西效果也一样
3,整数(那是字符串的内置方法,我不记得有参数,总之我没用过带参数的)
4,input默认接收到的是字符串,要改成整型,
不然判断就得这样:
if guess == '8':
(只是举个例子) 1、guess不提前赋值,后面没法直接调用。你直接上来就调用guess的话,python不知道guess这是个啥。
2、temp就是个临时变量,你可以随便起名。temp这里主要是给用户一个输入的交互。input交互输入的就是字符串。int只是把用户输入的字符串转换为整数。
3、如果temp是数字的话。
4、不把temp转换成数字,guess(数字)就没法跟temp(字符串)进行比较。 本帖最后由 焰珺晴 于 2020-3-22 19:19 编辑
heidern0612 发表于 2020-3-22 18:48
1、guess不提前赋值,后面没法直接调用。你直接上来就调用guess的话,python不知道guess这是个啥。
2、t ...
1. 赋那为什么不能是1-9里面的数?
3. temp.isdigit()括号里面不加东西的话,怎么比较所有字符是不是整数,比较范围是? 焰珺晴 发表于 2020-3-22 19:15
1. 赋那为什么不能是1-9里面的数?
可以啊,你可以赋值任意数,只要不是你猜哪个数就行。
只不过这个guess就是个初始化,一般赋值0即可。 qiuyouzhi 发表于 2020-3-22 18:46
1,temp就是一个单纯的变量,用于存放用户输入的值
2,input为什么非要加东西?不加东西效果也一样
3,整 ...
2. 内置函数input()括号里,是输入格子里面前面的问题对吧
heidern0612 发表于 2020-3-22 19:17
可以啊,你可以赋值任意数,只要不是你猜哪个数就行。
只不过这个guess就是个初始化,一般赋值0即可。
哦,由于在(1,10)任意取所以不能初始化的时候赋值不能赋值这个范围的
3. temp.isdigit()括号里面不加东西的话,怎么比较所有字符是不是整数,比较范围是? 焰珺晴 发表于 2020-3-22 19:17
2. 内置函数input()括号里,是输入格子里面前面的问题对吧
对的,但因为print替代了,就不用参数了 焰珺晴 发表于 2020-3-22 19:21
哦,由于在(1,10)任意取所以不能初始化的时候赋值不能赋值这个范围的
3. temp.isdigit()括号里面不加 ...
1、你可以赋值在范围内的,但是你要知道你serect在random之后,你也不知道这个serect到底是什么数了。
你如果赋值在范围内,万一跟这次猜的数对上了。那下面就没有while了。
2、 temp.isdigit()这个语法就是这么用的,你可以去小甲鱼课后看看这个语法的详细介绍。 heidern0612 发表于 2020-3-22 19:25
1、你可以赋值在范围内的,但是你要知道你serect在random之后,你也不知道这个serect到底是什么数了。
...
谢谢{:5_106:} qiuyouzhi 发表于 2020-3-22 19:22
对的,但因为print替代了,就不用参数了
哦哦哦明白了,谢谢
变量使用前要先赋值
temp在英语中是“临时文件”的意思,只是一般暂时存储的变量。一个优秀的程序员要有强迫症,不能给变量随便命名
input()可以不加参数,input()的作用将()内的参数显示到屏幕上并要求用户输入数据
其实在程序末尾输入此函数只是为了给程序员观察的时间#程序运行完会自动关闭
int()的作用:将()内的参数化成整形以便下面的操作 #有些程序必须要整数才能顺利运行 焰珺晴 发表于 2020-3-22 19:54
哦哦哦明白了,谢谢
那就设个最佳答案吧~ 本帖最后由 焰珺晴 于 2020-3-22 20:40 编辑
1. guess = 0的作用是什么,设guess = 1-9 有什么区别?之后guess就赋值了,为什么之前要赋值?
guess是变量,可以赋值任意数,只要不是你猜哪个数就行。只不过这个guess就是个初始化,一般赋值0即可
你可以赋值在范围内的,但是你要知道你serect在random之后,你也不知道这个serect到底是什么数了。换句话说你如果赋值在范围内,万一跟这次猜的数对上了。那下面就没有while了。
2. temp = input() temp什么意思?前面是一个字符串(字符串不是用单引号才能定义的吗)
temp就是个临时变量,你可以随便起名。temp这里主要是给用户一个输入的交互。input交互输入的就是字符串。int只是把用户输入的字符串转换为整数
内置函数input()括号里面为什么不加东西
内置函数input()括号里,是输入格子里面前面的问题,但因为print替代了,就不用参数了
3. if temp.isdigit()[这里面的括号也不加东西]
这个语法就是这么用的
temp.isdigit(),所有字符都是数字,为真返回 True,否则返回 False
【是整数】
4. guess = int(temp)把temp转化为整形的目的是什么呢?
不把temp转换成数字,guess(数字)就没法跟temp(字符串)进行比较。
页:
[1]