大数据微专业_1.Python基础_1.9_Python算法函数创建

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/f2157120/article/details/100548213

In [1]:

'''
【项目02】  基于Python的算法函数创建

作业要求:
根据不同题目,完成代码书写并成功运行

'''

Out[1]:

'\n【项目02】  基于Python的算法函数创建\n\n作业要求:\n根据不同题目,完成代码书写并成功运行\n\n'

In [ ]:

# 题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的两位数?都是多少?
# 该题目不用创建函数

In [7]:

n = 0
m = []
for i in range(1,5):
    for j in range(1,5):
        if i != j:
            num = '%i%i'%(i,j)
            n += 1
           # print(num)
            m.append(num)
print ('Total %i'%n)
print(m)
Total 12
['12', '13', '14', '21', '23', '24', '31', '32', '34', '41', '42', '43']

In [ ]:

# 题目2:输入三个整数x,y,z,请把这三个数由小到大输出,可调用input()。(需要加判断:判断输入数据是否为数字)
# 提示:判断是否为数字:.isdigit()
# 该题目需要创建函数

In [13]:

def f(n):  #n代表输入次数
    lst = []
    for i in range(1,n+1):
        num = input("Please input the %i number:"%i)
        while num.isdigit() == False:
            num = input("Please input again, previous input is not a number:")
        else:
            lst.append(float(num))
    return(sorted(lst))
f(3)
Please input the 1 number:e
Please input again, previous input is not a number:e
Please input again, previous input is not a number:d
Please input again, previous input is not a number:2
Please input the 2 number:d
Please input again, previous input is not a number:f
Please input again, previous input is not a number:s
Please input again, previous input is not a number:8
Please input the 3 number:c
Please input again, previous input is not a number:s
Please input again, previous input is not a number:9

Out[13]:

[2.0, 8.0, 9.0]

In [ ]:

# 题目3:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
# 提示:利用while语句,条件为输入的字符不为'\n'.
# 该题目不需要创建函数

In [19]:

st = input('Please input some letter:')
letters = 0
digit = 0
others = 0
space = 0
for c in st:
    if c.isalpha():
        letters += 1
    elif c.isdigit():
        digit += 1
    elif c.isspace():
        space += 1
    else:
        others += 1
print('Letters:{}, Digits:{}, Others:{}, Spaces:{}'.format(letters,digit,others,space))
Please input some letter:rwesd44322   ````
Letters:5, Digits:5, Others:4, Spaces:3

In [ ]:

# 题目4:猴子吃桃问题
# 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,
# 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
# 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
# 提示:采取逆向思维的方法,从后往前推断。
# 该题目不需要创建函数

In [20]:

n = 1  #最后一天只剩一个
for day in range(9,0,-1):
    m = (n + 1) * 2
    n = m
    print('第%i天剩下%i个桃子'%(day,n))
print('第一天共采集了%i个桃子'%n)
第9天剩下4个桃子
第8天剩下10个桃子
第7天剩下22个桃子
第6天剩下46个桃子
第5天剩下94个桃子
第4天剩下190个桃子
第3天剩下382个桃子
第2天剩下766个桃子
第1天剩下1534个桃子
第一天共采集了1534个桃子

In [ ]:

# 题目5:猜数字问题,要求如下:
# ① 随机生成一个整数
# ② 猜一个数字并输入
# ③ 判断是大是小,直到猜正确
# ④ 判断时间
# 提示:需要用time模块、random模块
# 该题目不需要创建函数

In [1]:

import time
import random
N = random.randint(0,100)
c = int(input('Please input a number:(<100)'))
start = time.time()
while c != N:
    if c > N:
        print("大了,请重新输入")
        c = int(input('Please input a number:(<100)'))
    elif c < N:
        print("小了,请重新输入")
        c = int(input('Please input a number:(<100)'))
end = time.time()
time = end - start
print('恭喜你,正确答案为%i'%N)
print('共花费时间%i'%time)
Please input a number:(<100)43
小了,请重新输入
Please input a number:(<100)85
小了,请重新输入
Please input a number:(<100)95
大了,请重新输入
Please input a number:(<100)90
大了,请重新输入
Please input a number:(<100)88
大了,请重新输入
Please input a number:(<100)87
大了,请重新输入
Please input a number:(<100)86
恭喜你,正确答案为86
共花费时间29

# 题目5:猜数字问题,要求如下:
# ① 随机生成一个整数
# ② 猜一个数字并输入
# ③ 判断是大是小,直到猜正确
# ④ 判断时间
# 提示:需要用time模块、random模块
# 该题目不需要创建函数

import time
import random
    
play_it = input('do you want to play it.(\'y\' or \'n\')')   # 询问是否参与游戏
while play_it == 'y':
    c = input('input a character:\n')   # 输入参与游戏人物
    i = random.randint(0,100)
    print( 'please input number you guess:\n')
    a = time.time()  # 记录开始时间
    guess = int(input('input your guess:\n'))
    while guess != i:
        if guess > i:
            print( 'please input a little smaller')
            guess = int(input('input your guess:\n'))
        else:
            print( 'please input a little bigger')
            guess = int(input('input your guess:\n'))
    b = time.time()  # 记录结束时间
    usedtime = b - a
    print( 'It took you %.2f seconds' % usedtime)
    if usedtime < 15:
        print( 'you are very clever!')
    elif usedtime < 25:
        print( 'you are normal!')
    else:
        print( 'you are stupid!')
    print( 'Congradulations')
    print( 'The number you guess is %d' % i)
    break
else:
    print('hehe')

猜你喜欢

转载自blog.csdn.net/f2157120/article/details/100548213