习题三答案

 

1、

        or的用法为or两边表达式,表达式1或者表达式2其中有一个为真,那么结果就为真,既然左侧的结果为真,右边的结果无论值是真或假,那么结果都会为真,跳过判断,称为短路,可能有效的提高代码的运行速度

2、

a = int(input("请输入4位整数作为年份:"))

if a % 400 == 0 or ((a % 4 == 0) & (a % 100 != 0)):
    print(a,"为闰年")
else:
    print(a,"不是闰年")

3、

        Python提供了两种基本的循环结构:for循环和while循环

4、

import random

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

print(a)

i = len(a)-1

while i>=0:
    if a[i]%2==1:
        del a[i]
    i-=1

print(a)

5、

import random

alist = [ ]
blist = [ ]

alist = [random.randint(0,100) for i in range(20)]

print(alist)

blist = alist[1::2]

blist.sort()

blist.reverse()

alist[1::2] = blist

print(alist)

6、

编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2x5,60=2x2x3x5。

while 1:
    t = int(input("请输入小于1000的整数:"))
    if t<2 or t>999:
        print(t,"该数无法进行因式分解")
    else:
        break
print(t,"=")

i=2

while 1:
    if t==i:
        print(i)
        break
    if t%i==0:
        print(i)
        print(" * ")
        t=t/i
    else:
        i+=1

7、

编写程序,至少使用两种不同的方法计算100以内所有奇数的和。

alist = [i for i in range(100)]


""" 第一种方法
a = 0
b = 0

while a < 100:
    if alist[a] % 2 != 0:
        b = alist[a]+b
    a += 1

print(b)
"""


#第二种方法

alist = alist[1::2]

#sum求和函数
print(sum(alist))

8、

编写程序,输出所有由1、2、3、4这四个数字组成的素数,并且在每个素数中每个数字只使用一次。

lst = list()

for m01 in range(1, 5):
    for m02 in range(1, 5):
        for m03 in range(1, 5):
            for m04 in range(1, 5):
                n = m01 * 1000 + m02 * 100 + m03 * 10 + m04
                n1 = n
                if m01 != m02 != m03 != m04:
                    for i in range(2, n):
                        if n1 % i == 0:
                            n = n / 2;
                            break
                        else:
                            continue
                    if n == n1:
                        lst.append(n)

print(lst)

9、

x = int(input("请输入一个整数:"))

if x < 0:
    y = 0
    print(y)
if 0 <= x < 5:
    y = x
    print(y)
if 5 <= x < 10:
    y = 3*x - 5
    print(y)
if 10 <= x < 20:
    y = 0.5*x - 2
    print(y)
if x >= 20:
    y = 0
    print(y)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值