Python入门100例

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 = 0
for 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 time

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

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

import time

for 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 True

count = 0;
for i in range(100, 201):
    if isPrime(i):
        print(i)
        count += 1
print("总数有:" + str(count))

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

import datetime

print(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 = 0
space = 0
number = 0
others = 0

for c in s:
    if c.isalpha():
        alphabet += 1
    elif c.isspace():
        space += 1
    elif c.isnumeric():
        number += 1
    else:
        others += 1

print("字母有:" + 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 random
print(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] = b
print(str(a))

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

def length(s):
    length = 0
    for c in s:
        length += 1
    return length

if __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 time
start = time.time()
sum = 0
for i in range(0, 3000):
    sum += i
end = 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))
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值