Python程序设计--第3章 选择与循环

时间:2022-12-16 23:34:15

该部分与其他语言类似,比较灵活,只是依靠缩进的结构控制不如大括号{}来的明确。

#             3.1 条件表达式
#只要不是False、0、None、空(列表、元组、集合、字典、字符串、range)等,均认为True
#关键字 True、False首字母大写
#python 3.x 不支持 <>,需使用 !=

x=[2,4,6,7]
while x:   #非空
    y=x.pop()
    print(y)

#               3.2选择结构  if elif else
#x=input('input two numbers:')
x='6 4'
a,b=map(int,x.split())   #map函数的应用
if a>b:
    a,b=b,a   #位置替换

#python的条件赋值语句
#value1 if condition else value2 ,其中value1、value2可以是复杂的表达式
y=80
score='pass' if y>=60 else 'no pass'    #VS对中文字符串不支持
x='2*3-4'
x=eval(x)    #计算表达式的值
if isinstance(x,int) and  0<=x<=100:   #运算符的连续使用,类型判断函数isinstance
    print(x)

#计算100以内的所有素数
x=[]
for n in range(2,100):
    ok=True
    for i in range(2,n):
        if n%i==0:   #%--取余数计算
            ok=False
            break
    if ok:
        x.append(n)
y=max(x)     #最大值

#计算100以内的最大素数
y=2
for n in range(100,2,-1):
    ok=True
    for i in range(2,n):
        if n%i==0:   #%--取余数计算
            ok=False
            break
    if ok:
        y=n
        break     #break 退出当前循环,continue退出本次循环

#计算100以内的最大素数2
#利用 while和for结构中的else语句,当循环条件为false,既循环结束时执行
y=2
for n in range(100,2,-1):
    for i in range(2,n):
        if n%i==0:   #%--取余数计算
            ok=False
            break
    else:  #在2--n-1之间没找到因式
        y=n
        break     #break 退出当前循环,continue退出本次循环

import math
x=math.ceil(2.1)  #3, 最大整数
x=math.sqrt(2)    #平方根
x=math.ceil(math.sqrt(2))  #2

#判断素数的函数
def f_su(num):
    if num<2:
        return False
    elif num==2:
        return True
    for i in range(2,num):
        if num % i==0:
            return False
    return True
#函数f的调用
x=1
y=f_su(x)
print('x=',x,',',y)

x=[1,2,3,4,10,13]
for i in x:
    y=f_su(i)
    print('i=',i,',',y)

#阶乘的计算
n=3
x=1
for i in range(n,0,-1):
    print(i)
    x*=i
print('{0}!={1}'.format(n,x))   #字符串格式 format

#计算阶乘的函数
def f_t(num):
    if num<1:
        return 0
    x=1
    for i in range(num,0,-1):
        x*=i
    return x

#调用
a=5
s=f_t(a)
print('{0}!={1}'.format(a,s))   #字符串格式 format