零基础学习Python 作业 第5章

0 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?

bool表示逻辑类型(True-1, False-0);

float表示浮点数类型; 

str表示字符串类型。

 

1 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?

计算机使用2进制表示,其中只有0和1。可以理解为实物的两个状态,真假。

 

2 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?

向下取整

>>> num=int(3.6)

>>> num

3

>>> 

3 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?

int() 固然没那么“聪明”,但机器是死的,鱼油是活的!
5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) ==6

 

4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?

>>> a= 5

>>> type(a)

<type 'int'>

 

>>> isinstance(a,int)

True

>>> 

 

5. Python3 可以给变量命名中文名,知道为什么吗?

Pyhton3 源码文件默认使用utf-8编码(支持中文),这就使得以下代码是合法的: 
>>> 小甲鱼 = '我爱你'  
>>> print(小甲鱼)
>>> 我爱你

 

 

动动手:

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

在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!

 

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

 

好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧!

Python2.7

import random
times = 3
secret = random.randint (1,10)#随机函数
print(secret)
#先给出guess赋值(赋一个绝对不等于secret的值)
#print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
while  times > 0:
    temp = raw_input('猜猜我心里想的是什么数字?')
#输入语句要放到循环语句之内,当输入信息与随机生成信息不一致时可再次循环输入!
    while not temp.isdigit():
        temp = raw_input('输入错误,请再次输入:')
    guess = int (temp)
    times = times - 1#每输入一次,可用机会就-1
    if guess == secret:
        print('wtf,你是我心里的蛔虫吗?猜对了!')
        break
    else
:
        if guess > secret:
            print('大了大了!!')
        else:
            print('小了小了!!')
        if times > 0:
            print ('再试一次吧:')
        else:
            print('机会用完了,退下吧。')
print('游戏结束,又被坑了吧!!')

Python 3.0

import random

times = 3

secret = random.randint (1,10)#随机函数

print('猜字谜')

#先给出guess赋值(赋一个绝对不等于secret的值)

guess = 0

#print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行

print ('猜猜我心里想的是什么数字?', end = ' ')

while (guess != secret) and (times > 0):

    temp = input ()

    while not temp.isdigit():

        temp = input('输入错误,请再次输入:')

    guess = int (temp)

    times = times - 1#每输入一次,可用机会就-1

    if guess == secret:

        print('wtf,你是我心里的蛔虫吗?')

    else:

        if guess > secret:

            print('大了大了!!')

        else:

            print('小了小了!!')

        if times > 0:

            print ('再试一次吧:', end = ' ')

        else:

            print('机会用完了,退下吧。')

print('游戏结束,又被坑了吧!!')

 

1 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用) 
这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。

Python 2.7版本中 整除/  与 3.0区别!

import random
i = 4
while i > 0:
    year = raw_input("请输入年份:")
    i -= 1
    while not year.isdigit():
        year = raw_input("抱歉,您的输入有误,请输入一个整数:")
    ryear = int(year)
    if  ryear/400.0 == int(ryear/400.0):
        print("是闰年")
        break
    elif 
( ryear/4.0)==int(ryear/4.0) and (ryear/100.0) != int(ryear/100.0):
        print("还是闰年")
    else:
        print("不是闰年")



Python 3.5:
  1. temp = input('请输入一个年份:')
  2. while not temp.isdigit():
  3.     temp = input("抱歉,您的输入有误,请输入一个整数:")
  4.  
  5. year = int(temp)
  6. if year/400 == int(year/400):
  7.     print(temp + ' 是闰年!')
  8. else:
  9.     if (year/4 == int(year/4)) and (year/100 != int(year/100)):
  10. 10.         print(temp + ' 是闰年!')
  11. 11.     else:
  12. 12.         print(temp + ' 不是闰年!')

 

posted @ 2018-09-19 15:19  蘑菇慢慢  阅读(120)  评论(0)    收藏  举报