[课后作业] 第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("游戏结束,不玩啦^_^")
print 中有一个默认参数,end ,默认值为 "\n",表示换行符
当没有人为为end参数赋值时,就会默认 end = "\n"
print 函数就在打印完填入的参数后,追加打印一个 end 参数的值,所以这也是print为什么会自动换行的原因
而 input 函数也会将填入的字符串参数打印出来,且不换行
当print 函数的 end 参数被赋值为 " " 时,则 print 函数打印出字符串后追加打印 end 就不会换行
代码执行到 input() 时 ,因为input函数没填入参数,则不打印字符
所以看上去就像是input函数打印出的结果,实际上是上一个代码 print 函数不换行的效果
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") 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 云归 发表于 2020-11-16 16:29
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times >...
对的,不会影响,除非你没有进入循环 Twilight6 发表于 2020-11-16 16:31
对的,不会影响,除非你没有进入循环
了解,谢谢!! ZBN 发表于 2020-11-16 16:17
import random
guess = random.randint(1,10)
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ...
谢谢,已经弄清楚了 ok
页:
[1]