(三)Python入门之100道基础题

五角星绘制:

1.要求绘制一个五角星

from turtle import *
fillcolor("red")
begin_fill()
while True:
    forward(200)
    right(144)
    if abs(pos())<1:
        break
end_fill()

(三)Python入门之100道基础题

 (三)Python入门之100道基础题

 像这样的绘制多变形问题,一开始会觉得难以理解和掌握,重复多看几遍,逐渐就会熟悉这样的做题步骤了。


凯撒密码:

2.要求输入一串字符串,返回加密后的字符串。

plaincode = input("请输入明文: ")
for p in plaincode:
    if ord("a") <= ord(p) <= ord("z"):
        print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end='')
    else:
        print(p,end='')

(三)Python入门之100道基础题


字符串反转:

要求将输入转化为输出

def reverse(s):
    if s == "":
        return s
    else:
        return reverse(s[1:]) + s[0]
str = input("请输入一个字符串: ")
print(reverse(str))

(三)Python入门之100道基础题

 (三)Python入门之100道基础题


计算阶乘:

def fact(n):
    if n==0:
        return 1
    else:
        return n * fact(n-1)
num = eval(input("请输入一个整数:"))
print(fact(abs(int(num))))

 (三)Python入门之100道基础题


 isPrime?

要求检测输入的数字是否为质数

def isPrime(num):
    import math
    try:
        if type(num) == type(0.):
            raise TypeError
        r = int(math.floor(math.sqrt(num)))
    except TypeError:
        print('不是一个有效的整数')
        return None
    if num == 1:
        return False
    for i in range(2 ,r+1):
        if num % i == 0:
            return False
    return True

print(isPrime(2))
print(isPrime(44))
print(isPrime('str'))
print(isPrime(1))
print(isPrime(3.3))
print(isPrime(0x18))

 (三)Python入门之100道基础题

(三)Python入门之100道基础题 

质数的概念实在是新手必须get到的知识点,因为质数太特别了,去多敲几遍,试着多往下多读几行,自信就是这样慢慢建立的。 

 

上一篇:算法训练 Torry的困惑(基本型)


下一篇:C#素数判断