刚看到第五讲 好多不明白的意思 求大佬给我讲讲
这个为什么有这么多的空行有的字符串后面为什么要加end=""为什么这个guess=0这个要在两个print()中间temp是个变量那temp.isdigit()是什么意思
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("游戏结束,不玩啦^_^")
本帖最后由 zltzlt 于 2020-8-3 14:08 编辑
1. 空行是为了保持代码美观,完全可以把空行去掉
2. 不一定,放在两个 print() 之后也可以
3. temp.isdigit() 是判断 temp 是否可以转化为整数,例如 '1'.isdigit() 为 True,而 'a'.isdigit() 为 False
4. 请见:https://fishc.com.cn/thread-159045-1-1.html 本帖最后由 Twilight6 于 2020-8-3 14:26 编辑
这个为什么有这么多的空行 ?
你是指代码中的空行吗?为了代码看起来不那么密码麻麻,整体看上去舒服点,仅仅只是为了美观而已哈
有的字符串后面为什么要加end=""?
这个是 print 函数的默认参数 end 而且 end 默认值为'\n' 换行符,即我们没有人为赋值时候 end = '\n' 的
end 参数是在 print 函数内容打印完成后自动追加打印一个end 参数的,这也是 print 函数能自动换行的原因
当你重新对 end 参数赋值为一个 "" 空字符串时候,原先的换行功能就被覆盖为空字符串了
为什么这个guess=0这个要在两个print()中间?
你在上下并不影响 print 函数的哈,没关系的,除非你代码中有用到 guess 参数时候才要注意下顺序问题
temp是个变量那temp.isdigit()是什么意思?
str.isdigit() 是字符串的方法,当字符串为纯数字字符串时候,也就是里面的字符全是数字时候,返回 True ,反之返回 False
这些方法在小甲鱼的第五讲的都有说明哈:
s 为字符串
s.isalnum()所有字符都是数字或者字母,为真返回 True,否则返回 False。
s.isalpha() 所有字符都是字母,为真返回 True,否则返回 False。
s.isdigit() 所有字符都是数字,为真返回 True,否则返回 False。
s.islower() 所有字符都是小写,为真返回 True,否则返回 False。
s.isupper() 所有字符都是大写,为真返回 True,否则返回 False。
s.istitle() 所有单词都是首字母大写,为真返回 True,否则返回 False。
s.isspace() 所有字符都是空白字符,为真返回 True,否则返回 False。
例如:
>>> s = 'I LOVE FISHC'
>>> s.isupper()
>>> True
Twilight6 发表于 2020-8-3 14:22
你是指代码中的空行吗?为了代码看起来不那么密码麻麻,整体看上去舒服点,仅仅只是为了美观而已哈 ...
把print()放在前面需要加end=" " 那为什么不把input()放在前面接收这样不就不用加上end=" " 了吗。 哥白尼 发表于 2020-8-3 16:05
把print()放在前面需要加end=" " 那为什么不把input()放在前面接收这样不就不用加上end=" " 了吗。
对,但是这样就可以直接通过 print 打印来改变input 需要显示的内容了
我们第一次打印的是 循环外的 print 但是后续的打印的是循环内的print ,字符串不同,但是 input 还是原先的
zltzlt 发表于 2020-8-3 14:06
1. 空行是为了保持代码美观,完全可以把空行去掉
2. 不一定,放在两个 print() 之后也可以
3. temp.isdig ...
什么情况下 需要用到这个isdigit()这个函数 Twilight6 发表于 2020-8-3 14:22
你是指代码中的空行吗?为了代码看起来不那么密码麻麻,整体看上去舒服点,仅仅只是为了美观而已哈 ...
那我们什么情况下才会用到这个isdigit 哥白尼 发表于 2020-8-3 16:20
什么情况下 需要用到这个isdigit()这个函数
当需要判断一个字符串是否可以转化成整数就要用到 zltzlt 发表于 2020-8-3 16:29
当需要判断一个字符串是否可以转化成整数就要用到
他这个循环下面 temp=input() 再往下为什么没有 Int()这个转换函数 哥白尼 发表于 2020-8-3 16:39
他这个循环下面 temp=input() 再往下为什么没有 Int()这个转换函数
guess = int(temp)
页:
[1]