9.25python程序控制结构总结和作业

看不进去书,写写博客帮助理解,在对象的安利下,第一次用markdown写博客,好有趣。

1.条件表达式

1.1关系运算符
条件表达式不允许使用赋值运算符"="

>>> if a=3
SyntaxError: invalid syntax

1.2逻辑运算符
and----串联
or------并联
not----短路
用指定分隔符分割字符

def Join(chlist,sep=':'):
    return sep.join(chlist)
a=Join(['5','6','5','3','1'])
print(a)

2.选择结构

1.双分支选择结构解决鸡兔同笼问题

jitu,tui=map(int,input('请输入鸡兔总数和腿总数').split())
tu=(tui-jitu*2)/2
if int(tu)==tu:
    print('鸡:{0},兔:{1}'.format((jitu-tu),int(tu)))
else:
    print('数据错误')

2.多分枝选择结构
嵌套时注意缩进

3.循环结构

对于有else子句的循环结构,如果循环因为表达式不成立或序列遍历结束而自然结束,执行else语句。如果因为执行break语句提前结束,不会执行else语句。

作业题
1.生成五十个随机整数数的列表,从后向前删除所有奇数

import random
x=[random.randint(0,100) for i in range(50)]

print(x)
i=len(x)-1
while i>=0:
    if x[i]%2==1:
        del x[i]
    i-=1
print(x)

2.生成20随机整数列表,对其中偶数下标进行降序排列,奇数下标的元素不变(使用切片)

import random
x=[random.randint(0,100) for i in range(20)]
print(x)
y=x[::2]
y.sort(reverse=True)
z=x[1::2]
print(y)
print(z)

True的T大写!
3.用两种方法计算100以内所有奇数和

x=[i for i in range(1,100) if i%2==1]
print(sum(x))

print(sum(range(1,100)[::2]))

4.编写输出所有由1,2,3,4这4个数字组成的素数,并保证每个数字只使用一次

a=[]
b=[]
for i in range(1,5):
    for j in range(1,5):
        for n in range(1,5):
            for k in [1,3]:
                if k != n and k != j and k!= i and n!= j and n!=i and j!=i:
                    a.append(i*1000+j*100+n*10+k)
print (a)
import math
print([a[x] for x in range(0,len(a)) if 0 not in [a[x]%d for d in range(2,int(math.sqrt(a[x]))+1)]])

运行结果
[1243, 1423, 2143, 2341, 2413, 2431, 3241, 3421, 4123, 4213, 4231, 4321]
[1423, 2143, 2341, 4231]
为了验证结果可不可靠写了一个简单的验证素数的代码:

import math
x=int(input('enter x:'))
if 0 not in [x%d for d in range(2,int(math.sqrt(x))+1)]:
    print('yes')
else:
    print('no')

5.编写程序实现分段函数

x=int(input('enter x:'))
if x<0 or x>=20:
    print(0)
elif 0<=x<5:
    print(x)
elif 5<=x<10:
    print(3*x-5)
else:
    print(0.5*x-2)

输入的x为string类型,所以前面要加一个int
否则出现报错
TypeError: ‘<’ not supported between instances of ‘str’ and ‘int’

你可能感兴趣的:(python)