Python练习之第六弹

1、

max = 0
count = 0
while True:
    num = int(input("Enter a number (0: for end of input): "))
    if num == 0:
        break
    if num > max:
        max = num
        count = 1
    elif num == max:
        count += 1
print("The largest number is  ",max)
print("The occurrence count of the largest number is  ",count)

测试:

C:\Users\WMUMU\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/WMUMU/PycharmProjects/pythonProject/python作业/1.py 
Enter a number (0: for end of input): 3
Enter a number (0: for end of input): 5
Enter a number (0: for end of input): 2
Enter a number (0: for end of input): 5
Enter a number (0: for end of input): 5
Enter a number (0: for end of input): 5
Enter a number (0: for end of input): 0
The largest number is   5
The occurrence count of the largest number is   4

进程已结束,退出代码0

2、

# 方法一:
import random
sum = 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)):
        sum += 1
a = sum / 1000000
print("1000000个随机点落在奇数区域的概率是%.12f"%a)

# 方法二:
import random
total = 1000000
count = 0
for i in range(0,total):
    x = random.random() * 2 - 1  # random.random()  产生[0,1)之间任意一个小数
    y = random.random() * 2 - 1  # random.random()  产生[0,1)之间任意一个小数
    if -1 <= x <= 0 and -1 <= y <= 1:
        count += 1
    elif 0 <= x <= 1 and 0 <= y <= 1 and y / (1-x) <= 1:
        count += 1
print("1000000个随机点落在奇数区域的概率是%.12f"%(count / total))

 测试结果:

3、

 

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

测试结果:

 4、

代码编写:

# 定义decToHex()函数实现十进制转为十六进制
# 提示用户输入一个十进制整数

number = int(input("Enter a number:"))


def decToHex(number):
    hexStr = ""
    while number != 0:
        temp = number % 16
        if temp < 10:
            hexStr = str(temp) + hexStr
        else:
            hexStr = chr(55 + temp) + hexStr
        number //= 16   # number = number // 16
    return hexStr

hexStr = decToHex(number)
print("十进制数%d,对应的十六进制数是%s"%(number,hexStr))

         计算机程序中经常会遇到进制转换,以下定义三个函数实现十进制转换成二进制、八进制、十进制的功能:

        decToBin()函数实现十进制转化二进制;

        定义decToOct()函数实现十进制转换八进制;

        decToHex()实现十进制转换十六进制。

测试结果:

 

5、

 

number = int(input("Enter a number:"))


"""
123456 % 10 -> 6
12345  % 10 -> 5
1234
...
1      % 10 -> 1
0
"""


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

print(sumDigits(number))

测试结果:

6、

 

#Return the reversal of an integer, e.g. reverse(456) returns
#654
#def reverse(rumber):
#Return true if number is a palindrome
#def isPalindrome (number):
number = int(input("Enter a number:"))

def isPalindrome(number):
    revNum = reverse(number)
    return number == revNum

def reverse(number):
    revNum = 0
    while number != 0:
        revNum = revNum * 10 + number % 10
        number //= 10
    return revNum

print(isPalindrome(number))

测试结果:

         我们先随便输个数字,发现结果显示False,然后我们再次输入125818521并运行,得出如下结果:

 7、

代码编写:

number = int(input("Enter a number:"))


def reverse(number):

    revNum = 0
    while number != 0:
        revNum = revNum * 10 + number % 10
        number //= 10
    return revNum

print(reverse(number))

测试结果:

 8、

 代码编写:

# Converts from Celsius to Fahrenheit


def celsiusToFahrenheit(celsius):

        Fahrenheit = (9 / 5) * celsius +32
        return Fahrenheit

# Converts from Fahrenheit to Celsius
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

测试结果:

9、

 

代码编写:

测试结果:

10、

代码编写:

测试结果:

 11、

 12、

 

(1)问题分析:
        只要理解了梅森素数的定义,该问题并不难求解。已知要求解的问题是找出指数p<=31的所有梅森素数。根据梅森素数的定义,我们可以先求出p<=31的所有梅森数,再逐一判断这些数是否为素数。如果是素数,则表示该数为梅森素数,打印输出即可,否则不是梅森素数。

(2)代码编写:

 测试结果:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值