小甲鱼第五章课后编程题总结与反思

第一道: 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。

import random
secret = random.randint(1,10)
time = 3
guess= 0
print("猜猜我是几:",end="")
while  (guess != secret) and (time>0):
    temp = input()
    time = time - 1
#
    while not temp.isdigit():
        temp = input("抱歉,您的输入有误,请输入一个整数:")
    guess = int(temp)
#1.首先两个重要的内容s.isdigit意为字符串s全为数字为真;s.isalpha意为字符串s全为字符为真。利用
s.is的方法识别输入是否正确可以有效地避免输入temp为str后一直保持str的情况,从而达到识别的目的。
  2.guess与上面temp对齐因为是正确赋值后再取整赋值于guess。   
    if guess == secret:
       print("you are a good boy")
    else:
       if  guess <secret:
          print("it is so small")
       else:
          print ("it is too big")
    if time > 0:
       print("再试一次吧:", end=" ")
    else:
       print("机会用光咯T_T")
print ("game over")


ps:s为字符串
s.isalnum()  所有字符都是数字或者字母,为真返回 Ture,否则返回 False。
s.isalpha()   所有字符都是字母,为真返回 Ture,否则返回 False。
s.isdigit()     所有字符都是数字,为真返回 Ture,否则返回 False。
s.islower()    所有字符都是小写,为真返回 Ture,否则返回 False。
s.isupper()   所有字符都是大写,为真返回 Ture,否则返回 False。
s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。
s.isspace()   所有字符都是空白字符,为真返回 Ture,否则返回 False。

例如:
>>> s = 'I LOVE FISHC'
>>> s.isupper()
>>> True
#注意括号!!!!!!


第二题 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)

temp = input('请输入您现在的年份:')

while not temp.isdigit():
    temp=input('输入错误请重新输入:')
    #第一次编程在这里出错,isdigit一定加()

year = int(temp)

if not year%4 == 0:
    print ('您输入的年份不为闰年!')
else :
    print('您输入的年份为闰年!')

总结:关于is的运用,可以有效避免使用type函数和isinstance函数不能解决的input返回字符串的问题(input的返回值始终为字符串),而is是直接判断输入的类型而不是input的返回值,从而进行whlie的判断!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值