绘制五星红旗
用格式化字符串输出自我介绍
利用turtle模块绘制三边形、四边形、五边形、六边形及圆,并为这些图形填充不同的颜色
输出三角形的面积并画出三角形的形状及角度
用format方法输出 九九乘法表
检查一个字符串是否是另一个字符串的子串,如是请输出该字符串是另一个字符串的子串,并输出其索引号,如不是请输出该字符串不是另一个字符串的子串
......
第1题
- 绘制五星红旗
import turtle as t
t.setup(600, 400, 0, 0) # 画布大小
t.bgcolor("red") # 画布颜色
t.fillcolor("yellow") # 填充颜色
t.color("yellow") # 画笔颜色
def mygoto(x, y):
t.up()
t.goto(x, y)
t.down()
def drawstar(l):
t.begin_fill()
for i in range(5):
t.forward(l) # 星星大小
t.right(144) # 设置角度
t.end_fill()
mygoto(-260, 120)
drawstar(120)
t.left(45)
mygoto(-115, 150)
drawstar(35)
t.left(45)
mygoto(-75, 90)
drawstar(35)
t.left(45)
mygoto(-90, 35)
drawstar(35)
t.left(45)
mygoto(-120, -15)
drawstar(35)
第2题
- 用格式化字符串输出自我介绍
# 方式1
name = "刘星宇"
age = 21
height = 177.5
describe = "我的名字是\"刘星宇\"" + ",我今年" + str(age) + "岁,身高" + str(height) + "cm"
print(describe)
# 方式2
print("我的名字叫%(name)s,我今年%(age)d岁,身高%(height).2fcm"
% {"name": "刘星宇", "age": 21, "height": 177.5})
第3题
- 利用turtle模块绘制三边形、四边形、五边形、六边形及圆,并为这些图形填充不同的颜色。
'''
FilePath: \PythonProject\期末考试\利用turtle模块绘制图形.py
Author: Liu Xingyu
Date: 2021-04-21
Version: 1.0
Contact: 18423475135@163.com
Descripttion注释/说明: 利用turtle模块绘制三边形、四边形、五边形、六边形及圆,并为这些图形填充不同的颜色
'''
import turtle as t
# 设置笔触
t.pensize(3)
# 隐藏笔触
t.hideturtle()
t.penup()
t.goto(-100, 50)
t.write("Cool Colorful Shapes",font=("Arial", 16))
t.pendown()
t.penup()
t.goto(-100, 100)
t.write("Blogs:www.Jaolvv.top",font=("Arial", 16))
t.pendown()
# 三角形
t.color("black")
t.fillcolor("red")
t.penup()
t.goto(-200, -50)
t.pendown()
t.begin_fill()
t.circle(40, steps=3)
t.end_fill()
# 四边形
t.color("black")
t.fillcolor("green")
t.penup()
t.goto(-100, -50)
t.pendown()
t.begin_fill()
t.circle(40, steps=4)
t.end_fill()
# 五边形
t.color("black")
t.fillcolor("blue")
t.penup()
t.goto(0, -50)
t.pendown()
t.begin_fill()
t.circle(40, steps=5)
t.end_fill()
# 六边形
t.color("black")
t.fillcolor("pink")
t.penup()
t.goto(100, -50)
t.pendown()
t.begin_fill()
t.circle(40, steps=6)
t.end_fill()
# 圆形
t.color("black")
t.fillcolor("purple")
t.penup()
t.goto(200, -50)
t.pendown()
t.begin_fill()
t.circle(40)
t.end_fill()
# 停止画笔绘制,但绘图窗体不关闭
t.done()
第4题
- 输出三角形的面积并画出三角形的形状及角度。
第5题
- 用format方法输出 九九乘法表。
for i in range(1, 10):
for j in range(1, i+1):
print("{}x{}={:<2}".format(j, i, i*j), end=" ")
print(" ")
第6题
- 检查一个字符串是否是另一个字符串的子串,如是请输出该字符串是另一个字符串的子串,并输出其索引号,如不是请输出该字符串不是另一个字符串的子串。
def issubstring(first, second):
remainingLength = len(second)
startingIndex = 0;
while len(first) <= remainingLength:
if first != second[startingIndex: startingIndex + len(first)]:
startingIndex += 1
remainingLength -= 1
else:
return startingIndex
return -1
for i in range(3):
first = input("Enter the first string:").strip()
second = input("Enter the second string:").strip()
print(" ")
index = issubstring(first, second)
if index != -1:
print("'" + first+ "'" + " is a substring of " + "'" + second + "'")
print("The index of " + "'" + first+"'" + " in " + "'" + second + "'" + " is " + str(index))
print(" ")
else:
print("'" + first + "'" + " is not a substring of " + "'" + second + "'")
print(" ")
第7题
- 循环10次,每次分别产生两个100以内的随机整数,生成加法、减法、乘法算式,要求学生输入答案,并判断回答是否正确,统计正确个数。
import random
count = 0
# 循环十次
for i in range(10):
a = int(random.randint(0, 100)) # 随机整数范围0~100
b = int(random.randint(0, 100))
# 交换变量,使大数始终在前面
if a < b:
b, a = a, b
count_a = a + b # 存放+正确的计算结果
print(str(a) + ' + ' + str(b) + ' = ', end='')
enter_a = eval(input())
count_b = a - b # 存放-正确的计算结果
print(str(a) + ' - ' + str(b) + ' = ', end='')
enter_b = eval(input())
count_c = a * b # 存放*正确的计算结果
print(str(a) + ' * ' + str(b) + ' = ', end='')
enter_c = eval(input())
if count_a == enter_a:
print(str(a) + ' + ' + str(b) + ' = ' + str(enter_a) + '√', end='' + " ")
count += 1
else:
print(str(a) + ' + ' + str(b) + ' = ' + str(enter_a) + 'X', end='' + " ")
if count_b == enter_b:
print(str(a) + ' - ' + str(b) + ' = ' + str(enter_b) + '√', end='' + " ")
count += 1
else:
print(str(a) + ' - ' + str(b) + ' = ' + str(enter_b) + 'X', end='' + " ")
if count_c == enter_c:
print(str(a) + ' * ' + str(b) + ' = ' + str(enter_c) + '√')
count += 1
else:
print(str(a) + ' * ' + str(b) + ' = ' + str(enter_c) + 'X')
print("作答30次,答题正确: " + str(count) + "次")
第8题
- 编写程序找出在100 和 1000 之间所有被 5 和 6同时整除的数,每行显示10 个数。这些数被一个空格隔开 。
'''
FilePath: \PythonProject\期末考试\100到1000以内能同时被5和6整除的整数.py
Author: Liu Xingyu
Date: 2021-05-04
Version: 1.0
Contact: 18423475135@163.com
Descripttion注释/说明: 输出100到1000以内能同时被5和6整除的整数,一行输出10个数,左对齐
'''
i = 100 # 定义100到1000这个范围
count = 0 # 计数器
print("100到1000以内能同时被5和6整除的整数为:↓")
while i <= 1000: # 定义100到1000这个范围
if i % 5 == 0 and i % 6 == 0: # 如果100和1000除以5和6等于0
print("{:>4}".format(str(i)), end="") # 格式化打印结果,{:>4}左对齐,强转i为字符串
# 计十次换行
count += 1
if count % 10 == 0:
print("")
i += 1 # 自增到1000
第9题
- 编程显示在2和1000之间且包括 2 和 1000 的素数,每行显示10个素数。
numberof = 10
count = 0
number = 2
print("the 2 to 1000 prim numbers are:")
print()
while number<=1000:
isPrime = True
divisor = 2
while divisor <= number / 2:
if number % divisor==0:
isPrime = False
break
divisor += 1
if isPrime:
count+=1
print("{0:4}".format(number),end="")
if count % numberof == 0:
print()
number += 1
第10题
- 编程显示在2和1000之间且包括 2 和 1000 的回文素数,每行显示10个素数。
def main():
count =1 #count用来计数
i=2 #素数累加
while count<=100: #100个数
if isPrime(i): #判断是否为素数
if reverse(i): #判断是否为回文数
count+=1 #累加
if count%10==1: #10个
print() #换行
i+=1 #素数累加
def isPrime(number): #函数isPrime
for divisor in range(2,number//2+1): #循环
if number %divisor==0: #判断
return False
return True
def isPalindrome(number):
return number==reverse(number)
def reverse(number):
result=0
if str(number) == str(number)[::-1]: #判断是否回文
print("{0:6}".format(number), end="") #输出
result = 1
return result
main()
第11题
- 编程求出所有三位数的水仙花数。
count = 0
print("所有三位数中的水仙花是:")
for i in range(100, 1000):
a = i // 100
b = (i - a * 100) // 10
c = (i - a * 100 - b * 10)
if i == pow(a, 3) + pow(b, 3) + pow(c, 3):
print(i, end=" ")
count += 1
print("共有%d个" % count)
第12题
- 编程找出两个数的最大公约数。
def hcf(x, y):
"""该函数返回两个数的最大公约数"""
# 获取最小值
if x > y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
hcf = i
return hcf
# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))
第13题
- 编程找出三个数的最大公约数。
def main():
a, b, c = eval(input())
if a > b:
t = a
a = b
b = t
if a > c:
t = a
a = c
c = t
for i in range(a, 0, -1):
if(a % i == 0 and b % i == 0 and c % i == 0):
print("最大公约数为", i)
break
main()
第14题
- 编写程序提示用户输入一个整数,然后显示这个整数所有数字的和。编写一个函数sumDigits(n)计算一个整数各个数字的和。
print("Enter a NUMBER:")
def sumDigits(n):
s = 0
while n:
s = n % 10 + s
n = n // 10
print(s)
sumDigits(eval(input()))
第15题
- 编写程序显示从2开始的50个素数,每行显示10个素数。
def isPrime(number):
for divisor in range(2, number // 2+1):
if number % divisor == 0:
return False
return True
def printPrimeNumber(numberOfPrime):
NUMBER_OF_PRIMES_PER_LINE = 10
count = 0
number = 2
while count < numberOfPrime:
if isPrime(number):
count += 1
print("{0:4}".format(number), end="")
if count % NUMBER_OF_PRIMES_PER_LINE == 0:
print()
number += 1
def main():
print("The first 50 prime numbers are :")
printPrimeNumber(50)
main()
第16题
- 提示用户输入一个数n然后调用 displayPattern(n)来显示这种模式。
第17题
- 编写程序显示从2开始的100个回文素数。每行显示10个数字,并且准确对齐。
'''
FilePath: \PythonProject\回文素数.py
Author: Liu Xingyu
Date: 2021-04-23
Version: 1.0
Contact: 18423475135@163.com
Descripttion注释/说明:
编写程序显示从2开始的100个回文素数。每行显示10个数字,并且准确对齐
声明并调用函数
'''
# 取反
def returnValue(i):
strj = ""
while(i > 0):
strj += str(i % 10)
i = i // 10
return strj
# 判断是否回文数
def judgment(i):
result = int(returnValue(i))
if(i == result):
return True
else:
return False
# 判断是否素数
def numberOfJudgments(i):
j = 2
while(j <= i):
if(i % j == 0 and i != j):
return False
elif(i == j):
return True
j += 1
def main():
count = 0
# 编写程序显示从2开始的100个回文素数。每行显示10个数字,并且准确对齐
for i in range(2, 100000):
if(judgment(i)): # 判断回文
if(numberOfJudgments(i)): # 判断素数
print("{:^5}".format(i), end=" ") # 格式化输出
count += 1 # 计数器
if(count % 10 == 0): # 每10个换一行
print("")
if(count == 100): # 有一百个了就退出
break
main()
第18题
- 编写程序读取未指定个数的分数,然后决定多少个分数是大于等于平均分数,而多少个是低于平均分数的。假设输入数是在一行由空格分隔的。
第19题
- 编写一个测试程序,提示用户输入一个数字列表,调用函数indexOfSmallestElement,返回最小元素的下标,显示这个下标。
第20题
- 编写一个测试程序,提示用户输入一个数字列表,调用函数indexOfMaxElement,返回最大元素的下标,显示这个下标。
第21题
- 编写一个测试程序,读取 10个数字,调用函数selectionSort排序,然后显示排好序的数字(按升序或降序)
第22题
- 编写一个测试程序,读取 10个数字,调用函数bubbleSort排序,然后显示排好序的数字(按升序或降序)