前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础练级攻略:day01

Python基础练级攻略:day01

作者头像
py3study
发布2020-01-15 17:15:51
3880
发布2020-01-15 17:15:51
举报
文章被收录于专栏:python3python3

如果你有足够长时间做某事,一定会更擅长。

知识点:

  • 计算机基础
  • 变量
  • 运算符
  • if语句
  • for-in循环
  • 函数
  • 列表、元组、字典、字符串、集合

ascii、unicode、utf-8、gbk 区别

代码语言:javascript
复制
ASCII主要用于显示现代英语和其他西欧语言,规定了128个字符的编码,使用一个字节编码,不支持中文;
GBK编码是对GB2312的扩展,完全兼容GB2312。采用双字节编码方案,剔出xx7F码位,共23940个码位,共收录汉字和图形符号21886个;
Unicode为世界上所有字符都分配了一个唯一的数字编号,采用4个字节编码,意味着一个英文字符本来只需要1个字节,而在Unicode编码体系下需要4个字节,其余3个字节为空,这就导致资源的浪费;
UTF-8是一种针对Unicode的可变长度字符编码,又称万国码,用1到6个字节编码UNICODE字符;

输入年份判断是不是闰年。

代码语言:javascript
复制
year = int(input('请输入年份: '))
is_leap = (year % 4 == 0 and year % 100 != 0 or
           year % 400 == 0)
print(is_leap)

百分制成绩转等级制

百分制成绩转等级制成绩 90分以上--> A,80分~89分--> B,70分~79分--> C,60分~69分 --> D,60分以下--> E

代码语言:javascript
复制
score = float(input('请输入成绩: '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('对应的等级是:', grade)

用for循环实现1~100求和

代码语言:javascript
复制
sum = 0
for x in range(101):
    sum += x
print(sum)

输入一个数判断是不是素数。

代码语言:javascript
复制
from math import sqrt

num = int(input('请输入一个正整数: '))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
    if num % x == 0:
        is_prime = False
        break
if is_prime and num != 1:
    print('%d是素数' % num)
else:
    print('%d不是素数' % num)

输入两个正整数计算最大公约数和最小公倍数

代码语言:javascript
复制
x = int(input('x = '))
y = int(input('y = '))
if x > y:
    x, y = y, x
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print('%d和%d的最大公约数是%d' % (x, y, factor))
        print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
        break

实现计算求最大公约数和最小公倍数的函数

代码语言:javascript
复制
def gcd(x, y):
    (x, y) = (y, x) if x > y else (x, y)
    for factor in range(x, 0, -1):
        if x % factor == 0 and y % factor == 0:
            return factor


def lcm(x, y):
    return x * y // gcd(x, y)

实现判断一个数是不是回文数的函数

代码语言:javascript
复制
def is_palindrome(num):
    temp = num
    total = 0
    while temp > 0:
        total = total * 10 + temp % 10
        temp //= 10
    return total == num

实现判断一个数是不是素数的函数

代码语言:javascript
复制
def is_prime(num):
    for factor in range(2, num):
        if num % factor == 0:
            return False
    return True if num != 1 else False

写一个程序判断输入的正整数是不是回文素数

代码语言:javascript
复制
if __name__ == '__main__':
    num = int(input('请输入正整数: '))
    if is_palindrome(num) and is_prime(num):
        print('%d是回文素数' % num)

在屏幕上显示跑马灯文字

代码语言:javascript
复制
import os
import time


def main():
    content = '北京欢迎你为你开天辟地…………'
    while True:
        # 清理屏幕上的输出
        os.system('cls')  # os.system('clear')
        print(content)
        # 休眠200毫秒
        time.sleep(0.2)
        content = content[1:] + content[0]


if __name__ == '__main__':
    main()

设计一个函数产生指定长度的验证码,验证码由大小写字母和数字构成

代码语言:javascript
复制
import random


def generate_code(code_len=4):
    """
    生成指定长度的验证码

    :param code_len: 验证码的长度(默认4个字符)

    :return: 由大小写英文字母和数字构成的随机验证码
    """
    all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    last_pos = len(all_chars) - 1
    code = ''
    for _ in range(code_len):
        index = random.randint(0, last_pos)
        code += all_chars[index]
    return code

计算指定的年月日是这一年的第几天

代码语言:javascript
复制
def is_leap_year(year):
    """
    判断指定的年份是不是闰年

    :param year: 年份
    :return: 闰年返回True平年返回False
    """
    return year % 4 == 0 and year % 100 != 0 or year % 400 == 0


def which_day(year, month, date):
    """
    计算传入的日期是这一年的第几天

    :param year: 年
    :param month: 月
    :param date: 日
    :return: 第几天
    """
    days_of_month = [
        [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
        [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    ][is_leap_year(year)]
    total = 0
    for index in range(month - 1):
        total += days_of_month[index]
    return total + date


def main():
    print(which_day(1980, 11, 28))
    print(which_day(1981, 12, 31))
    print(which_day(2018, 1, 1))
    print(which_day(2016, 3, 1))


if __name__ == '__main__':
    main()

打印杨辉三角

代码语言:javascript
复制
def main():
    num = int(input('Number of rows: '))
    yh = [[]] * num
    for row in range(len(yh)):
        yh[row] = [None] * (row + 1)
        for col in range(len(yh[row])):
            if col == 0 or col == row:
                yh[row][col] = 1
            else:
                yh[row][col] = yh[row - 1][col] + yh[row - 1][col - 1]
            print(yh[row][col], end='\t')
        print()


if __name__ == '__main__':
    main()

双色球选号

代码语言:javascript
复制
from random import randrange, randint, sample


def display(balls):
    """
    输出列表中的双色球号码
    """
    for index, ball in enumerate(balls):
        if index == len(balls) - 1:
            print('|', end=' ')
        print('%02d' % ball, end=' ')
    print()


def random_select():
    """
    随机选择一组号码
    """
    red_balls = [x for x in range(1, 34)]
    selected_balls = []
    selected_balls = sample(red_balls, 6)
    selected_balls.sort()
    selected_balls.append(randint(1, 16))
    return selected_balls


def main():
    n = int(input('机选几注: '))
    for _ in range(n):
        display(random_select())


if __name__ == '__main__':
    main()

写函数,计算传入字符串中的数字、字母、空格以及其他的个数,并返回结果

代码语言:javascript
复制
def func(s):
    dict = {'num': 0, 'alpha': 0, 'space': 0, 'other': 0}
    for i in s:
        if i.isdigit():
            dict['num'] += 1
        elif i.isalpha():
            dict['alpha'] += 1
        elif i.isspace():
            dict['space'] += 1
        else:
            dict['other'] += 1
    return dict

a = input('请输入字符串:')
print(func(a))

写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果

代码语言:javascript
复制
def func(s):
    if type(s) is str and s:
        for i in s:
            if i == ' ':
                return True
    elif type(s) is list or type(s) is tuple:
        for i in s:
            if not i:
                return True
    elif not s:
        return True

a = input('请传入对象(字符串、列表、元组):')
print(func(a))
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ascii、unicode、utf-8、gbk 区别
  • 输入年份判断是不是闰年。
  • 百分制成绩转等级制
  • 用for循环实现1~100求和
  • 输入一个数判断是不是素数。
  • 输入两个正整数计算最大公约数和最小公倍数
  • 实现计算求最大公约数和最小公倍数的函数
  • 实现判断一个数是不是回文数的函数
  • 实现判断一个数是不是素数的函数
  • 写一个程序判断输入的正整数是不是回文素数
  • 在屏幕上显示跑马灯文字
  • 设计一个函数产生指定长度的验证码,验证码由大小写字母和数字构成
  • 计算指定的年月日是这一年的第几天
  • 打印杨辉三角
  • 双色球选号
  • 写函数,计算传入字符串中的数字、字母、空格以及其他的个数,并返回结果
  • 写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档