Python第六周作业

目录

Demo50

Demo51

Demo52

Demo53

Demo54

Demo55

Demo56

Demo57

Demo58

Demo59

Demo60

Demo61

Demo62

Demo63

Demo64

Demo65


Demo50

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)

Demo51

a = int(input("请输入要转换的十进制数:"))
s = ''
if a == 0:
    print('0')
else:
    while a != 0:
        y = a % 2
        a //= 2
        s += str(y)
    print(s[::-1])

Demo52

a = int(input("请输入要转换的十进制:"))
print(f"{a}对应的十六进制为{a:x}")

Demo53

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)

Demo54

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()

Demo55

number = int(input("输入一个十进制整数:"))

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   
    return hexStr


hexStr = decToHex(number)
print(f"十进制数{number},对应的十六进制数是{hexStr}")

Demo56

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

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


print(sumDigits(number))

Demo57

number = int(input("请输入一个数判断是否是回文数:"))

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))

Demo58

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

def reverse(number):

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


print(reverse(number))

 

Demo59

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

Demo60

def m(i):
    sum = 0
    print(i, end="\t\t\t\t")
   
    for i in range(1,i+1):
       sum += i / (i + 1)
    return sum


print("i\t\t\t\tm(i)")

for i in range(1, 21):
    print("%.4f"%m(i))

Demo61

def isValid(s1, s2, s3):
    return s1 + s2 > s3 and s2 + s3 > s1 and s1 + s3 > s2


def area(s1, s2, s3):
    s = (s1 + s2 + s3) / 2
    return (s * (s - s1) * (s - s2) * (s - s3)) ** 0.5


s1, s2, s3 = eval(input("Enter three sides in double:"))

if isValid(s1, s2, s3):
    print("area is %.2f" % area(s1, s2, s3))
else:
    print("Invalid")

Demo62

def sqrt(n):
    lastGuess = 1
    nextGuess = (lastGuess + n / lastGuess) / 2
 
    while (nextGuess - lastGuess) > 0.0001 or (lastGuess - nextGuess) > 0.0001:
        lastGuess = nextGuess
        nextGuess = (lastGuess + n / lastGuess) / 2
    print(nextGuess)
 
 
sqrt(144)

Demo63

def is_zhishu(num):
    for i in range(2, num // 2 + 1):
        if num % i == 0:
            return False
 
    return True
 
 
def is_huiwenshu(num):
    if str(num) == str(num)[::-1]:
        return True
 
 
count = 0
num = 2
while count < 100:
    if is_zhishu(num) and is_huiwenshu(num):
        print("%5d" % num, end=" ")
        count += 1
 
        if count % 10 == 0:
            print()
    num += 1

Demo64

def is_zhishu(num):
    for i in range(2, num // 2 + 1):
        if num % i == 0:
            return False
 
    return True
 
 
def reverse(num):
    return int(str(num)[::-1])
 
 
def is_not_huiwenshu(num):
    if str(num) != str(num)[::-1]:
        return True
 
 
count = 0
num = 2
while count < 100:
    if is_zhishu(num) and is_zhishu(reverse(num)) and is_not_huiwenshu(num):
        print("%4d" % num, end=" ")
        count += 1
 
        if count % 10 == 0:
            print()
    num += 1

Demo65

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值