Python入门100例

来源:互联网 发布:cms快速建站与运营 编辑:程序博客网 时间:2024/06/10 04:43

Python入门100例

题目来自菜鸟教程python100例,适用于对python基础语法的巩固,我从中精选了一下题目(其实是题目太多做不完啦)写在下面。

 
一、有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

for i in range(1,5):    for j in range(1,5):        for k in range(1,5):            if( i != k ) and (i != j) and (j != k):                print (i*100+j*10+k)

 
二、企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

profit = int(input('净利润:'))arr = [1000000,600000,400000,200000,100000,0]rat = [0.01,0.015,0.03,0.05,0.075,0.1]bonus = 0for i in range(0, 6):    if profit > arr[i]:        bonus += (profit-arr[i]) * rat[i]        for j in range(i, 5):            bonus += (arr[j]-arr[j+1])*rat[j+1]        print(bonus)        break

 
三、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

for i in range(1,85):    if 168 % i == 0:        j = 168 / i;        if  i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 :            m = (i + j) / 2            n = (i - j) / 2            x = n * n - 100            print(x)

 
四、输入某年某月某日,判断这一天是这一年的第几天?

year = int(input("请输入年份"))month = int(input("请输入月份"))day = int(input("请输入日"))amount = ()if year % 4 == 0 and year % 100 != 0:    amount = (31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366)amount = (31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365)if month == 1:    print(day)else:    print(amount[month-2]+day)

 
五、输入三个整数x,y,z,请把这三个数由小到大输出。

x = int(input("请输入第一个数:"))y = int(input("请输入第二个数:"))z = int(input("请输入第三个数:"))a = ()if x > y:    if y > z:        a = (z, y, x)    elif x > z:        a = (y, z, x)    else:        a = (y, x, z)else:    if x > z:        a = (z, x, y)    elif y > z:        a = (x, z, y)    else:        a = (x, y, z)print("由大到小顺序为:" + str(a))

 
六、输出斐波那契数列中前20个数。

fib = [1, 1]for i in range(2,21):    fib.append(fib[i-2] + fib[i-1])print(str(fib))

 
七、将一个列表的数据复制到另一个列表中,并输出。

a = [1, 1, 2, 3, 5, 8]b = a[:]print(str(b))

 
八、输出 9*9 乘法口诀表。

for i in range(1,10):    for j in range(1, i+1):        print(str(i*j) + "   ", end = "")    print()

 
九、暂停一秒后输出。
分析:使用 time 模块的 sleep() 函数。

import timea = [1, 3, 5, 7, 9]for i in range(0,5):    print(a[i])    time.sleep(1)#暂停一秒

 
十、暂停一秒输出,并格式化当前时间。

import timefor i in range(0,30):    print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))    time.sleep(1)#暂停一秒

 
十一、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(小学噩梦题,其实就是斐波那契数列)

fib = [1, 1]for i in range(2,21):    fib.append(fib[i-2] + fib[i-1])print(str(fib))

 
十二、判断101-200之间有多少个素数,并输出所有素数。

def isPrime(num):    if num == 2:        return True    for i in range(2, int(num ** 0.5 + 1)):        if num % i == 0:            return False    return Truecount = 0;for i in range(100, 201):    if isPrime(i):        print(i)        count += 1print("总数有:" + str(count))

 
十六、输出指定格式的日期。

import datetimeprint(datetime.date.today().strftime("%Y.%m.%d"))MyBirthday = datetime.date(1997, 10, 24)print( MyBirthday.strftime("%Y.%m.%d"))print(datetime.date.today() - MyBirthday)#日期运算

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

s = input("请输入一串字符串:")alphabet = 0space = 0number = 0others = 0for c in s:    if c.isalpha():        alphabet += 1    elif c.isspace():        space += 1    elif c.isnumeric():        number += 1    else:        others += 1print("字母有:" + str(alphabet) + "个")print("空格有:" + str(space) + "个")print("数字有:" + str(number) + "个")print("其它字符有:" + str(others) + "个")

 
三十二、按相反的顺序输出列表的值。

a = [1, 3, 5, 7, 9]for i in a[::-1]:    print(i)

 
三十五、文本颜色设置。

class bcolors:    HEADER = '\033[95m'    OKBLUE = '\033[94m'    OKGREEN = '\033[92m'    WARNING = '\033[93m'    FAIL = '\033[91m'    ENDC = '\033[0m'    BOLD = '\033[1m'    UNDERLINE = '\033[4m'print(bcolors.WARNING + "泰拳警告")

 
四十九、使用lambda来创建匿名函数。

ADD = lambda x,y : (x+y)print(ADD(1, 2))

 
五十、输出一个随机数。

import randomprint(random.uniform(0, 100))

 
六十二、查找字符串。

str1 = "abcdefg"str2 = "ef"print(str1.find(str2))

 
六十八、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

a = [1, 2 , 3, 4, 5, 6, 7, 8, 9, 10]m = int(input("请输入m的值:"))b = a[len(a)-m: len(a)]a[m: len(a)-1] = a[0: len(a)-1-m]a[0: m] = bprint(str(a))

 
七十、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

def length(s):    length = 0    for c in s:        length += 1    return lengthif __name__ == "__main__":    s = input("请输入一个字符串:")    print("其长度为:" + str(length(s)))

 
七十三、反向输出一个链表。

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]for i in a[::-1]:    print(i)

 
七十四、排序可使用 sort() 方法,连接可以使用 + 号或 extend() 方法。

a = [1, 3, 5, 7, 9]b = [2, 4, 6, 8, 10]a.extend(b)a.sort()print(a)

 
八十四、连接列表中的字符串。

delimiter = ','mylist = ['Brazil', 'Russia', 'India', 'China']print (delimiter.join(mylist))

 
八十七、结构体变量传递

class Student:    id = 0    name = ""def init(std):    std.id = 2678    std.name = "brother xiao"std = Student()init(std)print(str(std.id) + "  " +  std.name)

 
九十二、时间函数用于程序计时

import timestart = time.time()sum = 0for i in range(0, 3000):    sum += iend = time.time()print("共计用时:" + str(end-start) + "秒")

 
九十七、从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。

if __name__ == "__main__":    f = open("test.txt", "w")    print("请输入字符串")    ch = ""    while "#" not in ch:        ch = input()    f.write(ch)    f.close()

 
一百、列表转换为字典。

a = ["China", "America", "Japan", "British"]dic = {}for i in range(0, len(a)):    dic[i] = a[i]print(str(dic))
原创粉丝点击