云归 发表于 2020-11-16 14:37:35

[课后作业] 第004讲:改进我们的小游戏习题有几个地方搞不懂。

遇到了两个问题,搜索未果,自己琢磨很久,脑子转不过来,实在理解不了,求助!!!

import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0   
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ") (①这个地方打印的应该只是“不妨猜一下小甲鱼现在心里想的是哪个数字:”这句话,为什么运行的时候是对应的输入值?end=""在这里是为了不换行把下面的print()连在一起?搞不懂。)
while (guess != secret) and (times > 0):
    temp = input()(②这个地方input输入的值是空的,怎么和上面的print()的内容联系的?)
    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("游戏结束,不玩啦^_^")

Twilight6 发表于 2020-11-16 15:15:39



print 中有一个默认参数,end ,默认值为 "\n",表示换行符

当没有人为为end参数赋值时,就会默认 end = "\n"

print 函数就在打印完填入的参数后,追加打印一个 end 参数的值,所以这也是print为什么会自动换行的原因

而 input 函数也会将填入的字符串参数打印出来,且不换行

当print 函数的 end 参数被赋值为 " " 时,则 print 函数打印出字符串后追加打印 end 就不会换行

代码执行到 input() 时 ,因为input函数没填入参数,则不打印字符

所以看上去就像是input函数打印出的结果,实际上是上一个代码 print 函数不换行的效果

ZBN 发表于 2020-11-16 16:17:14

import random
guess = random.randint(1,10)
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
temp = input()
number = int(temp)
if number!=guess:
    print("You are wrong")
else:
    print("You are right")

云归 发表于 2020-11-16 16:29:02

Twilight6 发表于 2020-11-16 15:15
print 中有一个默认参数,end ,默认值为 "\n",表示换行符

当没有人为为end参数赋值时,就会默认 e ...

print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
    temp = input()

就是说,单独提取出来,while循环在上述中,print()和input()之间不会影响打印,还是可以看成
print('aa', end='')
temp = input('bb')

显示的是aabb

Twilight6 发表于 2020-11-16 16:31:15

云归 发表于 2020-11-16 16:29
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times >...



对的,不会影响,除非你没有进入循环

云归 发表于 2020-11-16 16:55:47

Twilight6 发表于 2020-11-16 16:31
对的,不会影响,除非你没有进入循环

了解,谢谢!!

云归 发表于 2020-11-16 16:56:29

ZBN 发表于 2020-11-16 16:17
import random
guess = random.randint(1,10)
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ...

谢谢,已经弄清楚了

SLAV_KING 发表于 2020-11-17 18:07:56

ok
页: [1]
查看完整版本: [课后作业] 第004讲:改进我们的小游戏习题有几个地方搞不懂。