美文网首页超人口袋——Python篇
《Python项目2》之基于Python的算法函数创建

《Python项目2》之基于Python的算法函数创建

作者: 超人猿 | 来源:发表于2018-02-24 14:53 被阅读84次
    序言

        列举出对新手友好的题目

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

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

    题目3:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

    题目4:猴子吃桃问题

    ①猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
    ②第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
    ③以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。
    ④求第一天共摘了多少?
    提示:采取逆向思维的方法,从后往前推断。

    题目5:猜数字问题,要求如下:

    ① 随机生成一个整数
    ② 猜一个数字并输入
    ③ 判断是大是小,直到猜正确
    ④ 判断时间
    提示:需要用time模块、random模块

    思考过后再查看参考答案

    答案1:
    for x in range(1,5):
         for y in range(1,5):
              if x != y:
                 print(x,y)

    答案2:
    num = input("请输入三个整数")
    result = []
    print(type(num), num)
    for s in num:
         if s.isdigit():
              result.append(int(s))
              print("%s是整数" %s)
    print(sorted(result))

    答案3:
    st = "我爱中国 abcd 123 &*"
    num = []
    zh = []
    en = []
    other = []
    space = []
    dic = {}

    for s in st:
         if s.isdigit():
              num.append(s)
         elif s.isspace():
              space.append(s)
         elif s >= u'\u4e00' and s <= u'\u9fa5':
              zh.append(s)
    elif (s >= u'\u0041' and s <= u'\u005a') or (s >= u'\u0061' and s <= u'\u007a'):
              en.append(s)
         else:
              other.append(s)
    print(type(len(num)))
    print("数字的个数:{}\n中文的个数:{}\n英文的个数:{}\n空格的个数:{}\n其他字符的个数:{}\n" .format(str(len(num)), str(len(zh)), str(len(en)), str(len(space)), str(len(other))))

    答案4:

    peach = 1
    print("第10天早上想再吃时,见只剩下一个桃子了。")
    for i in range(9, 0, -1): # range(9, 0, -1) 倒序,从9到0,左闭右开
         peach = (peach+1) * 2
         print('第%i天吃之前还有%i个桃子' % (i, peach))
    print('第1天共摘了%i个桃子' %peach)

    答案5:
    import time
    import random

    currentTime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
    print(currentTime)

    num = random.randint(0, 100)
    # .randint(x, y) 都为闭区间,
    # 总结:random.randint(0, 100),指随机生成0~100之间的值
    print("随机数为:%i\n" %num)

    guess = input("请输入一个数字\n")

    while guess.isnumeric():
         if float(guess) > num:
             print("大了\n")
             guess = input("请输入一个数字\n")
         elif float(guess) < num:
            print("小了\n")
             guess = input("请输入一个数字\n")
         else:
            print("恭喜你答案正确")
             break

    最后👉具体代码

    相关文章

      网友评论

        本文标题:《Python项目2》之基于Python的算法函数创建

        本文链接:https://www.haomeiwen.com/subject/rkiqxftx.html