一、编写程序读取整数,找出它们中的最大值,然后计算它的出现次数,假设以数字0结束
max = 0
count = 0
while True:
n = eval(input(" 请输入一个数值:"))
if n == 0:
print("输入结束!")
break
elif n > max:
max = n
count = 1
elif n == max:
count += 1
print("最大值是{},出现了{}次".format(max, count))
二、编写程序提示用户输入一个十进制整数,然后显示它对应的二进制数
i = int(input("请输入一个数:"))
w = 0
for x in range(0, 1000):
if i % 2 == 1:
w += 1 * 10 ** x
i = (i) // 2
else:
i = i / 2
if i == 0:
print("%s" % w, end="")
break;
三、编写程序提示用户输入一个十进制整数,然后显示它对应的十六进制数
i = int(input("请输入一个数:"))
binstr = ""
while i != 0:
a = i % 16
if a >= 0 and a < 10 :
binstr = str(a) + binstr
i = i // 16
elif a == 10:
a = "A"
binstr = str(a) + binstr
i = i // 16
elif a == 11:
a = "B"
binstr = str(a) + binstr
i = i // 16
elif a == 12:
a = "C"
binstr = str(a) + binstr
i = i // 16
elif a == 13:
a = "D"
binstr = str(a) + binstr
i = i // 16
elif a == 14:
a = "E"
binstr = str(a) + binstr
i = i // 16
elif a == 15:
a = "F"
binstr = str(a) + binstr
i = i // 16
print(binstr)
四、编写程序显示21世纪(从2001年到2100年)里所有的闰年,每行显示10个闰年
count = 0
print("21实际中的闰年有:")
for i in range(2001, 2101):
if(i % 4 == 0 and i % 100 != 0 or i % 400 == 0):
print(i, end=" ")
count = count + 1
if count % 10 == 0:
print("\n")
五、编写一个程序,计算一个整数各个数字的和
def func(num):
sum = 0
while num != 0:
n = num % 10
sum += n
num = num // 10
print(sum)
num = int(input("请输入一个整数:"))
func(num)
六、编写一个测试程序,提示用户输入一个整数,然后输出这个整数是不是回文数
numbers = 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(numbers))
七、编写下面的函数,反向显示一个整数
八、摄氏温度
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\t\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
九、数列
def m(i):
sum = 0
if i >= 1:
for n in range(1, i + 1):
sum += n / (n+1)
return sum
print(m(20))
十、编写一个测试程序,读入三角形三边的值,若输入有效则计算面积;否则,显示输入无效
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("测试错误")
十一、回文素数
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))
十二、梅森素数
def meisen(n):
k = 1
for i in range(2, n):
if a % i == 0:
k = 0
return False
if k == 1:
return True
p = 1
while p <= 31:
a = (2 ** p) - 1
p += 1
if meisen(a):
print(a, end=", ")