zoukankan      html  css  js  c++  java
  • Python中的常规习题

    循环总结

    while 语句  for 语句

    - 字符串  - range() 函数 

    break 语句  continue 语句

    学习笔记传送门

    列表学习

    # 练习:
    #   输入一个整数n, 判断这个整数是否是素数(prime)
    #     (素数是指只能被1 和自身整除的数)
    #     如:
    #       2 3 5 7 11...
    #     方法:
    #       用排除法.一但n能被2~n-1的数整除就不是素
    #        数,否则就一定是素数
    
    n = int(input("请输入一个整数: "))
    
    if n < 2:
        print(n, '不是素数')
        exit()
    
    # 方法 1
    # flag = True  # true代表是素数,False代表不是素数
    # for i in range(2, n):
    #     if n % i == 0:
    #         # print(n, '不是素数!')
    #         flag = False
    #         break
    # if flag == True:
    #     print(n, '是素数!')
    # else:
    #     print(n, '不是素数!')
    
    # 方法2:
    for i in range(2, n):
        if n % i == 0:
            print(n, '不是素数!')
            break
    else:
        print(n, '是素数!')
    # 1. 输入一个整数,代表树干的高度.
    #   打印一棵"圣诞树"
    #   如:
    #    输入:2
    #   打印
    #     *
    #    ***
    #     *
    #     *
    #    输入:3
    #   打印
    #      *
    #     ***
    #    *****
    #      *
    #      *    
    #      *
    
    n = int(input("请输入树干高度: "))
    
    # 打印树叶部分
    
    for i in range(1, n + 1):  # i代表从上向下的行号
        blanks_count = n - i  # 计算空格个数
        print(' '* blanks_count + '*' * (2*i-1))
    
    # 打印树十部分
    for i in range(1, n + 1):
        print(' ' * (n - 1) + '*')
    # 2. 用循环语句生成如下字符串
    #   'ABC.....XYZ'
    #   'AaBbCc......XxYyZz'
    #   提示:
    #      用ord和chr函数结合循环语句实现
    
    s = ''  # 用来存入大写英文字母
    s2 = ''  # 用来存放大写小写混合的英文字母
    for i in range(65, 65 + 26):
        # print(chr(i))
        s += chr(i)
        s2 += chr(i)  # 先放一个大写的
        # 放入一个小写的字母
        s2 += chr(i + 32)
        # ord('a') - ord('A')  # 32
    
    print(s)
    print(s2)
    # 3. 算出 100 ~ 999 以内的水仙花数(Narcissistic number)
    #    水仙花数是指百位的3次方加上十位的3次方加上个位
    #    的3次方等于原数的数字
    #      例如:
    #        153 等于 1**3 + 5**3 + 3**3
    #    参考答案:
    #      153, 370, ...
    
    # 方法1
    # for x in range(100, 1000):
    #     bai = x // 100
    #     shi = x %100 // 10
    #     ge = x % 10
    #     if x == bai ** 3 + shi ** 3 + ge ** 3:
    #         print(x)
    
    # 方法2
    # for x in range(100, 1000):
    #     s = str(x)  # 得到字符串
    #     bai = int(s[0])  # 百位
    #     shi = int(s[1])  # 十位
    #     ge = int(s[2])  # 个位
    #     if x == bai ** 3 + shi ** 3 + ge ** 3:
    #         print(x)
    
    # 方法3
    for bai in range(1, 10):
        for shi in range(10):
            for ge in range(10):
                # print(bai, shi, ge)
                x = bai * 100 + shi * 10 + ge
                if x == bai ** 3 + shi ** 3 + ge ** 3:
                    print(x)



  • 相关阅读:
    Spring Boot 返回 XML 数据,一分钟搞定!
    Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现
    周末去面试,进去 5 分钟就出来了…
    Spring Boot 返回 JSON 数据,一分钟搞定!
    Java 11 已发布,String 还能这样玩!
    Hashtable 为什么不叫 HashTable?
    Java 中初始化 List 集合的 6 种方式!
    HashMap 和 Hashtable 的 6 个区别,最后一个没几个人知道!
    毕业不到一年,绩效打了个D!
    poj 3111 K Best (二分搜索之最大化平均值之01分数规划)
  • 原文地址:https://www.cnblogs.com/LeoLRH/p/10369892.html
Copyright © 2011-2022 走看看