1、(统计正数和负数的个数后计算这些数的平均值)编写程序来读入不指定个数的整数,然后决定已经读取的整数中有多少个正数和负数并计算这些输入值
def calculate_avg():
sum = 0
positive = 0
negative = 0
while True:
num = eval(input("Enter an integer,the input ends if it is 0:"))
if num != 0:
if num > 0:
positive += 1
elif num < 0:
negative += 1
sum += num
avg = sum /(positive + negative)
if num == 0:
print("The number of positive is %d"%positive)
print("The number of positive is %d"%negative)
print("The total is %d"%(positive+negative))
print("The average is %f"%avg)
break
2、(累加) 产生两个在 1 到 15 之间的随机数的加法问题,显示回到正确的次数和时间
import random
import time
def random_add():
correctCount = 0
count = 0
number_of_questions = 5
startTime = time.time()
while count < number_of_questions:# 控制答题次数
number1 = random.randint(1,15)
number2 = random.randint(1,15)
if number1 < number2:
number1,number2 = number2,number1
answer = eval(input("What is "+str(number1)+"+"+str(number2)+"?"))
if number1+number2 == answer:
print("you are correct!")
correctCount += 1
else:
print("your answer is wrong.\n",number1,"+",
number2,"is",number1+number2)
count += 1
endTime = time.time()
testTime = int(endTime -startTime)
print("Correct count is", correctCount,"out of ",
number_of_questions,"\nTest time is ",testTime,"seconds")
3、重量转换表格
def weight_transfer_excel():
print(" 重量转换表")
print("_____________________")
print("| KG | pounds |")
for i in range(1,10):
print("| ",i," |",format(i*2.2,'.1f'))
for i in range(10,100):
print("| ",i," |",format(i*2.2,'.1f'))
for i in range(100,200):
print("| ",i,"| ",format(i*2.2,'.1f'))
4、计算未来学费,假设大学今年的学费是10000美元,且以每年5%增长。编写程序计算十年之后的学费以及从现在开始到十年后大学四年的总学费
def calculate_tuition():
tuition = 10000
rate = 0.05
year = 10
sum = 0
for i in range(year):
tuition = tuition * (1+rate)
sum += tuition
print("十年后的学费为:%f 十年总的学费为:%f"%(tuition,sum))
5、(找出可被5和6同时整数的数) 编写程序编写找出100和1000之间所有被5和6同时整除的数,每行显示10个数,这些数被一个空行隔开
def find_the_num():
count = 0
for i in range(100,1001):
if i % 5 == 0 and i % 6==0:
count += 1
if count % 10 != 0:
print(i,end=' ')
else:
print(i,end="\n")
6、(计算最大公约数) 找出两个整数n1、n2的最大公约数的解决方案,首先,找出二者最小的数d,然后依次递减的顺序去找二者的公因子,第一个数就是二者的最大公约数
def greatest_common_divisor():
n1 = eval(input("Enter the first integer:"))
n2 = eval(input("Enter the second integer:"))
d = min(n1,n2)
for i in range(d,1,-1): # range()函数步长问题:https://www.cnblogs.com/Lambda721/p/7776600.html
if n1 % i == 0 and n2 % i == 0:
print("二者的最大公约数为:%d"%i)
break
else:
print("二者无公约数")
7、(显示ASCII字符表)编写程序显示ASCII字符表!到~的字符。每行显示十个字符,字符被一个空格隔开
def print_ASSII():
count = 0
for i in range(33,127):
count += 1
if count % 10 == 0:
print(chr(i),end='\n')
else:
print(chr(i),end=' ')
8、(找出一个整数的所有因子) 编写程序读取一个整数,然后显示它所有的最小因子,也称为素因子
# 判断素数,二因子分解
def isprime(num):
for i in range(2,num):
if num % i == 0:
return False
else:
return True
#获取所有约数
def get_factor(num):
return [x for x in range(1,num) if num % x == 0]
def primefactor(num):
if isprime(num):
return [1,num]
factors = get_factor(num)
List = []
consult = num
for i in range(1,len(factors)):
if consult == 1:
break
while True:
if consult % factors[i] != 0:
break
if isprime(factors[i]):
consult /= factors[i]
List.append(factors[i])
else:
List.append(factors[i])
break
return List
9、(显示一个金字塔) 编写程序提示用户输入一个在1到15之间的整数,然后显示一个金字塔
import math
def Pyramid():
n = eval(input("请输入金字塔层数:"))
for i in range(n):
m = 0
for i in range(n):
a = n - i
m += pow(10, i)
for j in range(a):
print(' ', end='')
print(pow(m, 2))
10、(利用循环显示四种模式) 使用嵌套循环在四个独立的程序中显示下面的四种模式
def formA():
for i in range(1,8):
for j in range(1,i):
print(j,end=" ")
print()
def formB():
for i in range(7,1,-1):
for j in range(1,i):
print(j,end=" ")
print()
def formC():
for i in range(1,8):
for j in range(8-i):
print(" ",end='')
for j in range(1,i):
print(j,end=' ')
print("\n")
def formD():
for i in range(7,1,-1):
for j in range(7-i):
print(" ",end='')
for j in range(1,i):
print(j,end=" ")
print()
11、(显示闰年)编写程序显示21世纪里所有的闰年,每行显示10个闰年,这些年被一个空格隔开
def leapYear():
count = 0
for year in range(2000,2101):
if (year % 4 == 0 and year % 100 != 0)or(year % 400 == 0):
print(year,end=' ')
count += 1
if count % 10 == 0:
print('',end="\n")
12、(显示每个月的第一天) 编写程序提示用户输入年份以及该年的第一天是星期几,然后在控制台上显示该年每个月的第一天是星期几
import calendar as cal
def calculate_the_week(year,m,q):
week_day = ['Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
if m == 1 or m == 2:
m += 12
year -= 1
k = year % 100
j = (year / 100)//1
h = ((q + (26*(m + 1)/10)//1) + k + ((k/4)//1) + ((j/ 4) //1+5 *j)) % 7
print("Day of the day is %s"%week_day[int(h)])
def Displays_the_first_day():
FORMAT = "%d-%d-%d\t"
year = eval(input("Enter year :(e.g.,2008):"))
for m in range(1, 13):
d = cal.monthrange(year, m)
print(FORMAT % (year, m, 1))
calculate_the_week(year, m, 1)
print(FORMAT % (year, m, d[1]))
calculate_the_week(year, m, d[1])
print("",end="\n")
13、(完全数)如果一个正整数等于除了它本身之外所有正因子的和,那么这个数称为完全数
def get_factor(num):
return [x for x in range(1,num) if num % x == 0]
def perfect_num():
for i in range(1,10001):
list1 = get_factor(i)
sum = 0
for j in range(len(list1)):
sum += list1[j]
if i == sum:
print("完全数为:",i)
推荐各位小可爱们一首炒鸡好听的歌,疗愈