【无标题】

1.(最大数的出现)编写程序读取整数,找出它们中的最大值,然后计算它的出现次数。

mnx = 0
count = 0
while True:
    num = int(input("请输入一个数字 (以数字0结束): "))
    if num == 0:
        break
    if num > mnx:
        mnx = num
        count = 1
    elif num == mnx:
        count += 1
print("最大的数字是:", mnx)
print("最大数字出现的次数是: ", count)

【无标题】_第1张图片

 

2.(蒙特卡罗模拟)一个正方形被分为四个更小的区域,如图a所示。如果你投掷一个飞镖到这个正方形一百万次,这个飞镖落在一个奇数区域里的概率是多少?编写程序模拟这个过程然后显式结果。(提示:将这个正方形的中心放在坐标系统的中心位置,如图b 所示。在正方形中随机产生一个点,然后统计这个点落入奇数区域的次数。【无标题】_第2张图片

import random
sm = 0
for i in range(0, 1000001):
    x = random.random() * random.choice([-1, 1])
    y = random.random() * random.choice([-1, 1])
    if x <= 0 or (x >= 0 and y >= 0 and (y / (1 - x) >= 1)):
        sm += 1
a = sm / 1000000
print("1000000个随机点落在奇数区域的概率是%.12f" % a)

【无标题】_第3张图片

 

3.(显示闰年)编写程序显示21世纪(从 2001 年到 2100年)里所有的闰年,每行显示 10个闰年,这些年被一个空格隔开。

 

xy = 0
for y in range(2001, 2101):
    if y % 400 == 0 or y % 4 == 0 and y % 100 != 0:
        print(y, end=" ")
        xy += 1
        if xy % 10 == 0:
            print()

【无标题】_第4张图片

 

4.(求一个整数各个数字的和)编写一个函数,计算一个整数各个数字的和。使用下面的函数头:

 

number = int(input("请输入一个数字:"))


def sumDigits(n):
    sm = 0
    while n != 0:
        sm += n % 10
        n = n // 10
    return sm


print(sumDigits(number))

【无标题】_第5张图片

 

5.(反向显示一个整数)编写下面的函数,反向显示一个整数

 

number = int(input("请输入一个数字:"))
 
 
def reverse(num):
    rum = 0
    while num != 0:
        rum = rum * 10 + num % 10
        num //= 10
    return rum
 
 
print(reverse(number))

【无标题】_第6张图片

 

6.(摄氏度和华氏度之间的转换)编写一个包含下面两个函数的模块

 

def celsiusToFahrenheit(celsius):
    Fahrenheit = (9 / 5) * celsius + 32
    return Fahrenheit
 
 
def fahrenheitToCelsius(fahrenheit):
    celsius = (5 / 9) * (fahrenheit - 32)
    return celsius
 
 
print("Celsius\t\tFahrenheit\t\tFahrenheit\tCelsius")
i = 40
for j in range(120, 20, -10):
    print(i, end="\t\t\t")
    print("%.1f" % (celsiusToFahrenheit(i)), end="\t\t\t")
    print(j, end="\t\t\t")
    print("%.2f" % (fahrenheitToCelsius(j)))
    i -= 1
    if i == 30:
        break

【无标题】_第7张图片

 

7.(数列求和)编写一个函数计算下面的数列

【无标题】_第8张图片

 【无标题】_第9张图片

 

8.(MyTriangle 模块)创建一个名叫 MyTriangle 的模块,它包含下面两个函数
# Returns true if the sum of any two sides is

# greater than the third side

def isValid(side1,side2,side3):

# Returns the area of the triangle.

def area(side1,side2,side3):

编写一个测试程序,读入三角形三边的值,若输人有效则计算面积。否则,显示输人无效计算三角形面积的公式在编程题 2.14 中给出。下面是一些示例运行。

def isValid(side1, side2, side3):
    return side1 + side2 > side3 and side2 + side3 > side1 and side1 + side3 > side2
 
 
def area(side1, side2, side3):
    s = (side1 + side2 + side3) / 2
    return (s * (s - side1) * (s - side2) * (s - side3)) ** 0.5
 
 
s1, s2, s3 = eval(input("请输入三角形三边长:"))
if isValid(s1, s2, s3):
    print("area is %.2f" % area(s1, s2, s3))
else:
    print("Invalid")

【无标题】_第10张图片

 

9.(反素数)反素数(逆向拼写的素数) 是指一个将其逆向拼写后也是一个素数的非回文数。例如:17 和71 都是素数,所以,17和71 都是反索数。编写序显示前 00 个反素数。每行显示10个数字,并且准确对齐,如下所示

10(梅森素数)如果一个素数可以写成2的形式,其中p是某个正整数,那么这个数就被称作梅森素数。编写程序找出所有 p ≤31 的梅森素数。然后显示如下结果。

11.(双素数)双素数是指一对差值为2 的素数。例如:3 和 就是一对双素数,5 和7就是一对双素数,11 和 13 也是一对双素数。编写程序,找出所有小于 1000 的双素数。显示结果如下所示。

12.某个人进入如下一个棋盘中,要求从左上角开始走,最后从右下角出来(要求只能前进,不能后退),问题:共有多少种走法?
0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

x = []
 
for i in range(0, 5):
    x.append([])
    for j in range(0, 8):
        x[i].append(0)
        if i == 0 and j != 0:
            x[i][j] = x[i][j - 1] + 1
        elif i != 0 and j == 0:
            x[i][j] = x[i - 1][j] + 1
        elif i != 0 and j != 0:
            x[i][j] = x[i - 1][j] + x[i][j - 1]
print(f"{x[len(x) - 1][len(x[0]) - 1]}")

【无标题】_第11张图片

 

 

你可能感兴趣的:(作业,python,开发语言)