1:
num_str = input("请输入数字序列,以0结束:")
max_num = int(num_str[0])
count = 1
for i in range(1, len(num_str)):
num = int(num_str[i])
if num > max_num:
max_num = num
count = 1
elif num == max_num:
count += 1
print("最大数是{},出现次数为{}。".format(max_num, count))
2:
decimal_num = int(input("请输入一个十进制整数:"))
binary_num = bin(decimal_num)
print(f"对应的二进制数为:{binary_num[2:]}")
3:
decimal_num = int(input("请输入一个十进制整数:"))
hex_num = hex(decimal_num)
print("该整数的十六进制表示为:" + hex_num)
4:
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("一万个随机点落在奇数区域的概率是%.12f"%a)
5:
leap_years = []
for year in range(2001, 2101):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
leap_years.append(year)
for i, leap_year in enumerate(leap_years):
print(leap_year, end=' ')
if (i + 1) % 10 == 0:
print()
6:
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 # number = number // 16
return hexStr
hexStr = decToHex(number)
print("十进制数%d,对应的十六进制数是%s"%(number,hexStr))
7:
number = int(input("请输入一个整数:"))
def sumDigits(n):
sum = 0
while n != 0:
sum += n % 10
n = n // 10
return sum
print(sumDigits(number))
8:
9:
number = int(input("请输入一个整数:"))
def reverse(number):
revNum = 0
while number != 0:
revNum = revNum * 10 + number % 10
number //= 10
return revNum
print(reverse(number))
10:
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
11:
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))
12:
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("请输入三角形的三个边长为:"))
if isValid(s1, s2, s3):
print("输入的三角形面积为: %.2f" % area(s1, s2, s3))
else:
print("请输入正确的数")
13:
import math
def sqrt(n):
lastGuess = 1
nextGuess = (lastGuess + n / lastGuess) / 2
while abs(nextGuess - lastGuess) >= 0.0001:
lastGuess = nextGuess
nextGuess = (lastGuess + n / lastGuess) / 2
return nextGuess
print(sqrt(15))
14:
def is_prime(n):
if n == 1:
return False
elif n == 2:
return True
else:
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def is_palindrome(n):
return str(n) == str(n)[::-1]
count = 0
num = 2
while count < 100:
if is_prime(num) and is_palindrome(num):
print("{:>5d}".format(num), end=" ")
count += 1
if count % 10 == 0:
print()
num += 1
15:
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def is_reversible_prime(n):
if is_prime(n):
s = str(n)
if s == s[::-1]:
return False
if is_prime(int(s[::-1])):
return True
return False
count = 0
for i in range(10, 100000):
if is_reversible_prime(i):
print(f'{i:<5}', end='')
count += 1
if count % 10 == 0:
print()
if count == 100:
break
16:
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
for p in range(1, 32):
n = 2**p - 1
if is_prime(n):
print(p, n)
17:
def is_prime(n):
if n == 2:
return True
elif n < 2 or n % 2 == 0:
return False
else:
for i in range(3, int(n**0.5)+1, 2):
if n % i == 0:
return False
return True
def find_twin_primes(n):
for i in range(3, n):
if is_prime(i) and is_prime(i+2):
print("({}, {})".format(i, i+2))
find_twin_primes(1000)