"""
数据:一个整数 number
余数 y
步骤:
1、提示用户输入一个整数
2、定义一个十进制转十六进制的函数decToHex
当数字不为0时开始循环,y = number % 16
拼接余数
若y<10,正常输出
若y>10,10-A,11-B,12-C,13-D,15-E
每次数字整除16后都将结果赋给number
知道number为0 循环结束
返回拼接的余数
3、调用该函数
"""
number = int(input("请输入一个整数:"))
def decToHex(number):
b = ""
while number != 0:
y = number % 16
if y < 10:
b = str(y) + b
else:
b = chr(55 + y) + b
number //= 16
return b
b = decToHex(number)
print(b)
Test Results:
"""
数据:一个整数number
步骤:
1、提示用户输入一个整数
2、定义一个求这个证书各个位的和的函数
当 number = 0,循环结束
当number > 0,number不断取余,每次取余都累加起来
并且number 每次都整除10后赋给新的number直到number为0
3、调用函数
"""
number = int(input("请输入一个整数:"))
def sumDigits(number):
sum = 0
while number != 0:
y = number % 10
sum += y
number = number // 10
return sum
print(sumDigits(number))
Test Results:
"""
数据:一个整数number
步骤:
1、提示用户输入一个整数
2、定义两个函数
2.1 定义求回文数函数
2.2定义判断是否为回文数函数
则会调用函数1
3、调用函数2
"""
num = int(input("Enter a number:"))
def reverse(num):
num_str = ""
while num % 10 != 0:
y = num % 10
num_str += str(y)
num //= 10
return int(num_str)
def isPalindrome(num):
num_str = reverse(num)
if num_str != num:
return False
return True
print(isPalindrome(num))
Test Results:
"""
数据:一个整数number
步骤:
1、提示用户输入一个整数
2、定义函数
2.1 当number不为0开始循环
2.1.1 number对10取余
2.1.2 拼接余数
2.1.3 对number整除付给新的number
2.1.4当number为0时循环结束
3、调用函数
"""
number = int(input("请输入一个整数:"))
def reverse(number):
b = ""
while number != 0:
y = number % 10
b += str(y)
number = number // 10
return int(b)
print(reverse(number))
Test Results:
"""
步骤:
1、定义摄氏度转化摄氏度函数
1.1 根据公式计算华摄氏度
1.2返回华摄氏度
2、定义华摄氏度转摄氏度函数
2.1 根据公式计算摄氏度
2.2返回摄氏度
3、调用函数
"""
def celsiusToFahrenheit(celsius):
return (9 / 5) * celsius + 32
def fahrenheitToCelsius(fahrenheit):
return (5 / 9) * (fahrenheit - 32)
print("\tCelsius\tFahrenheit")
for i in range(40,30,-1):
print("\t%.1f\t%.1f"%(i,celsiusToFahrenheit(i)))
print("\tFahrenheit\tCelsius")
for i in range(120,20,-10):
print("\t%.1f\t%.2f"%(i,fahrenheitToCelsius(i)))
Test Results:
"""
步骤:
1、定义求数列和的函数
2、调用函数
"""
def sumSL(i):
m = 0
for n in range(1,i+1):
m = m + n / (n + 1)
return m
for i in range(1,21):
print("i=%d时,m=%.4f"%(i,sumSL(i)))
Test Results:
"""
步骤:
1、提示用户输入三角形三个边长
2、定义计算三角形面积公式函数
2.1根据公式计算三角形面积
2.2返回面积
3、定义读入三角形是否成立的函数
3.1 如果任意两边之和大于第三边,则三角形成立
3.2 如果成立调用计算三角形面积公式函数
4、调用判断三角形是否成立的函数
"""
def isValid(s1,s2,s3):
if s1 + s2 > s3 and s1 + s3 > s2 and s2 + s3 > s1:
return True
return False
def area(s1,s2,s3):
s = (s1 + s2 + s3) / 2
area = (s *(s - s1) * (s - s2) * (s - s3)) ** 0.5
return area
s1,s2,s3 = eval(input("Enter three sides in double:"))
if isValid(s1,s2,s3):
print("The area of the triangle is ",area(s1,s2,s3))
else:
print("Input is invalid")
Test Results:
"""
Demo 62
步骤;
1、定义平方根函数
1.1定义lastGuess
1.2根据公式计算nextGuess
1.3如果:nextGuess的值与lastGuess值之差小于0.0001,则返回nextGuess,程序结束
否则:将nextGuess的值赋给lastGuess继续循环
2、提示用户输入一个数字
3、调用函数
"""
def sqrt(number):
lastGuess = 1
while True:
nextGuess = (lastGuess + (number / lastGuess)) / 2
if abs(nextGuess - lastGuess) < 0.0001:
return nextGuess
else:
lastGuess = nextGuess
number = float(input("Enter a positive number:"))
print(sqrt(number))
Test Results:
"""
1、定义是否反向数字函数
num = 0
number = 123
num = 0 * 10 + 123 % 10 = 3
num = 3 * 10 + 12 % 10 = 32
num = 32*10 + 1% 10 = 321
2、定义是否回文函数
2.1调用是否反向数字函数
若该数字与反向数字相等,True
不相等 False
3、定义是否为素数函数
3.1 若一个数字只能被除了1和本身整除,为素数
4、调用函数
"""
def reverse(number):
num = 0
while number != 0:
num = num * 10 + number % 10
number //= 10
return num
def isPalindrome(number):
num = reverse(number)
return num == number
def isSuShu(number):
for i in range(2, number // 2 + 1):
if number % i == 0:
return False
return True
count = 0
number = 2
while count <= 100:
if isPalindrome(number) and isSuShu(number):
print(number, end="\t")
count += 1
if count % 10 == 0:
print()
number += 1
Test Results:
def isSuShu(number):
for i in range(2, number // 2 + 1):
if number % i == 0:
return False
return True
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
count = 0
number = 2
while count < 100:
if isSuShu(number) and isSuShu(reverse(number)) and not isPalindrome(number):
print(number, end=" ")
count += 1
if count % 10 == 0:
print()
number += 1
Test Results:
def isSuShu(num):
for i in range(2,num // 2 + 1):
if num % i == 0:
return False
else:
return True
for p in range(2,32):
num = 2 ** p - 1
if isSuShu(num):
print(num)
Test Results:
def isSuShu(num):
for i in range(2,num // 2 + 1):
if num % i == 0:
return False
else:
return True
for i in range(2,1000):
if isSuShu(i) and isSuShu(i + 2):
print("(%d,%d)"%(i,i+2))
Test Results: