菜鸟教程Python3实例刷题 1-25
- 题目网址 https://www.runoob.com/python3/python3-examples.html
- 相比于网址中的参考答案,给出了更多的注释,以及发散想到的相关知识点,便于日后复习。
- 本篇记录了《第1题:Python Hello World 实例》 至 《第25题:Python 简单计算器实现》
1
print('hello world')
print("hello world")
2
num1 = input('输入第一个数字')
num2 = input('输入第二个数字')
sum = float(num1) + float(num2)
print('数字{0}和{1}相加的结果为:{2}'.format(num1,num2,sum))
print('两数之和为 %.1f' %(float ( input('输入第一个数字:') + input('输入第二个数字:') ) ) )
3
def mySqrt():
import cmath
num = input ("请输入一个数")
if num.__contains__('-'):
if num.__contains__('.'):
num_sqrt = cmath.sqrt(float(num))
print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(float(num), num_sqrt.real, num_sqrt.imag))
else:
num_sqrt = cmath.sqrt(int(num))
print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(int(num), num_sqrt.real, num_sqrt.imag))
else:
if num.__contains__('-'):
num_sqrt = float(num) ** 0.5
print(' %0.3f 的平方根为 %0.3f' % (float(num), num_sqrt))
else:
num_sqrt = int(num) ** 0.5
print(' %0.3f 的平方根为 %0.3f' % (int(num), num_sqrt))
4
a = float( input('输入a:') )
b = float( input('输入b:') )
c = float( input('输入c:') )
import cmath
delta = b**2 - 4*a*c
res1 = (-b + cmath.sqrt(delta))/(2*a)
res2 = (-b - cmath.sqrt(delta))/(2*a)
print("两个解分别是:{0} , {1}".format(res1,res2))
print("保留三位小数的两个解分别是:{0:.3f} , {1:.3f}".format(res1,res2))
5
a = float(input("输入第一条边"))
b = float(input("输入第二条边"))
c = float(input("输入第三条边"))
s = (a + b + c) / 2
area = (s * (s-a) * (s-b) * (s-c))
print("保留两位小数的面积为:%.2f" % area)
6
import math
def calcu_circle(r):
pi = math.pi
s = pi*r*r
return s
r = float( input("输入半径值:") )
print("面积为 %.5f"%calcu_circle(r))
print("面积为 {0:.5f}".format(calcu_circle(r)))
7
import random
print(random.randint(0,9))
print ("从 range(100) 返回一个随机数 : ",random.choice(range(100)))
print ("从列表中 [1, 2, 3, 5, 9]) 返回一个随机元素 : ", random.choice([1, 2, 3, 5, 9]))
print ("从字符串中 'Runoob' 返回一个随机字符 : ", random.choice('Runoob'))
print ("randrange(1,100, 2) : ", random.randrange(1, 100, 2))
print ("randrange(100) : ", random.randrange(100))
print ("random() : ", random.random())
print ("random() : ", random.random())
import random
random.seed(10)
print(random.random())
print(random.random())
random.seed(10)
print(random.random())
random.seed(15)
print(random.random())
"""
0.5714025946899135
0.4288890546751146
0.5714025946899135
0.965242141552123
"""
list = [20, 16, 10, 5];
random.shuffle(list)
print ("随机排序列表 : ", list)
random.shuffle(list)
print ("随机排序列表 : ", list)
"""
随机排序列表 : [20, 5, 16, 10]
随机排序列表 : [5, 20, 10, 16]
"""
print ("uniform(5, 10) 的随机浮点数 : ", random.uniform(5, 10))
"""
uniform(5, 10) 的随机浮点数 : 7.054602800254241
"""
8
celsius = float(input('输入摄氏温度: '))
fahrenheit = (celsius * 1.8) + 32
print('%0.1f 摄氏温度转为华氏温度为 %0.1f ' % (celsius, fahrenheit))
print('{0:.1f} 摄氏度转化为华氏温度为 {1:.1f}'.format(celsius,fahrenheit))
9
def mySwap():
x = input("输入x值:")
y = input("输入y值:")
temp = x
x = y
y = temp
print("交换后的x值为: {0} , 交换后的y值为: {1}".format(x,y))
pass
mySwap()
10
def fun():
try:
num = float(input("please input a number: "))
if num > 0:
print("positive")
elif num < 0:
print("negtive")
else:
print("zero")
except ValueError:
print("invalid input ! please input again!")
fun()
fun()
11
def is_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
return False
print(is_number(1e3))
print(is_number('四'))
print(is_number('1'))
print(is_number('1.3'))
print(is_number('-1.37'))
print(is_number('1e3'))
print(is_number('foo'))
print(is_number('IV'))
12
def fun():
try:
num = float( input('输入一个数字: ') )
if num % 2 == 0:
print('是偶数 even')
else:
print('是奇数 odd')
except:
print("输入的不是数字, 请重新输入")
fun()
13
def isRN():
try:
year = int ( input('输入一个年份: ') )
if (year%400==0) or (year%4==0 and not(year%100==0)):
print("{0}是闰年".format(year))
else:
print("{0}不是闰年".format(year))
except:
print('请重新输入一个 正整数 年份! ')
isRN()
isRN()
14
num = int(input('输入你要输入数字的个数: '))
i = 1
list = []
while i <= num:
print('输入第' + str(i) + '个数字: ')
temp = float(input())
list.append(temp)
i = i+1
print("这几个数中,最大的是: {0}".format(max(list)))
15
def isPrime():
num = int( input("请输入一个正整数: ") )
if num==1 or num%2==0:
print("{0}不是质数".format(num))
else:
import math
list = range(2,int(math.sqrt(num))+1,1)
for x in list:
if num%x==0:
print("{0}不是质数".format(num))
return
print("{0}是质数".format(num))
isPrime()
list = ['Google','MicroSoft','Apple','Alibaba']
for i in range(len(list)):
print(i,list[i])
16
low = int(input('输入正整数下限: '))
high = int(input('输入正整数上限: '))
if low<1 or low>high:
print("输入信息不合法")
else:
for x in range(low, high + 1):
if x>1:
flag = 1
for i in range(2,x):
if x%i==0:
flag = 0
break
if flag==1:
print(x)
17
num = int (input('输入一个整数: '))
if num<0:
print("输入不合法")
elif num==0:
print("0的阶乘是1")
else:
s = 1
for i in range(1,num+1):
s = s*i
print("{0}的阶乘是{1}".format(num,s))
18
for i in range(1,10):
for j in range(1,i+1):
if i==j:
print("{0}×{1}={2}".format(i, j, i * j))
else:
print("{0}×{1}={2}".format(i, j, i * j), end='\t')
19
num = int( input("输入数列长度: ") )
def Fibo(num):
if num<1:
print("输入不合法")
elif num==1:
print("[0]")
elif num==2:
print("[0, 1]")
else:
list = [0,1]
i = 0
while i<num-2:
temp = list[i] + list[i+1]
list.append(temp)
i= i+1
print(list)
Fibo(num)
20
num = int(input("输入一个正整数: "))
str_num = str(num)
len = len(str_num)
sum = 0
for i in range(0,len):
temp = int(str_num[i])
sum = sum + (temp**3)
if sum==num:
print(str_num + ' 是 阿姆斯特朗数')
else:
print(str_num + '不是 阿姆斯特朗数')
21
dec = int(input("输入数字:"))
print("十进制数为:", dec)
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec))
22
c = input("请输入一个字符: ")
print(c + " 的ASCII 码为", ord(c))
a = int(input("请输入一个ASCII码: "))
print(a, " 对应的字符为", chr(a))
23
def fun(x, y):
ans = 1
smaller = min(x,y)
for i in range(1, smaller + 1):
if ((x % i == 0) and (y % i == 0)):
ans = i
return ans
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print(num1, "和", num2, "的最大公约数为", fun(num1, num2))
24
def fun(x,y):
bigger = max(x,y)
ans = bigger
while True:
if ans%x==0 and ans%y==0:
print(x,"和",y,"的最小公倍数是: ",ans)
break
else:
ans += bigger
num1 = int(input("输入第一个数: "))
num2 = int(input("输入第二个数: "))
fun(num1,num2)
25
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
def calculator():
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
choice = input("输入你的选择(1/2/3/4):")
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
if choice == '1':
print(num1, "+", num2, "=", add(num1, num2))
elif choice == '2':
print(num1, "-", num2, "=", subtract(num1, num2))
elif choice == '3':
print(num1, "*", num2, "=", multiply(num1, num2))
elif choice == '4':
print(num1, "/", num2, "=", divide(num1, num2))
else:
print("非法输入")
calculator()