求助04改进我们的小游戏课后习题
import randomtimes = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
temp = input()
guess = int(temp)
times = times - 1 # 用户每输入一次,可用机会就-1
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
if times > 0:
print("再试一次吧:", end=" ")
else:
print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")
请问这个guess = 0是起什么作用啊
还有要加入end把换行变成空格是为什么呢 guess=0,是给guess赋初值,为while徐娜混做准备,
因为若不赋初值,while循环的条件中就不能写guess!=secret,会报错
之所以赋初值为0,就是因为0是一个肯定不对的值(secret范围1到10),所以你可以赋初值为其他的值,比如一个负数,或者大于10 的数
第二个问题
print有个end参数是控制输出结尾字符的,默认值为'\n',即回车,这里设定end参数,就是为了让这个print输出不换行 1.guess = 0是初始化guess变量,只要把guess赋值给一个肯定不是答案的变量即可
2.end = ' '是为了它打印完"再试一次吧:"后不换行(默认end = '\n') 1、python表示你得先让我知道guess是个啥或者是个类型,我下面才好判断。
2、end表示当前输出结果不换行,其实就是为了美观,换行不换行没啥区别。 1.guess = 0是为了初始化guess,因为secret不会是0
2.为了在下一次打印时不换行 本帖最后由 liuzhengyuan 于 2020-4-21 09:52 编辑
初始化 guess,如果guess=5,或其他什么数的话,万一 sceret,真好与 guess 相等,那就猜不了了,一上来直接对
含简单呀,如果不弄成换行输入格式就会有问题
(默认是换行)
如果不加 end 输入就会是。。。
再试一次把:
5
原本是
再试一次把:5 guess = 0 定义一个数赋初值为0 相当于之后用户输入的数 和secret = random.randint(1,10)这个函数产生的随机数比较
end为了在下一次打印时不换行 guess = 0,是为了让程序进入while循环,guess也不一定要赋值0,因为secret为1~9,你可以赋值guess除了1~9外的任何数。
print是默认换行的,加上end = ‘’就不换行了,相当于把纵向输入,变为横向的了
页:
[1]