Python作业(二)

  1. 打印9x9乘法表
# 方法一
i = 1
while i<=9:
    j = 1
    while j<=i:
        print('%d*%d=%d'%(i,j,i*j),end=' ')
        j += 1
    print()
    i += 1

# 方法二
for i  in range(1,10):
    for j in range(1,i+1):
        print('%d*%d=%d'%(i,j,i*j),end=' ')
    print()
  1. 找出2-1000000的所有质数,优化算法,找过一次的不需要再反复判断
primes = []
num = 2
end_num = 10000
while num <= end_num:
    flag = True
    for p in primes:
        if p <= num ** 0.5: # 设num是一个正整数,如果对于所有的素数p<=num**2,都有p不能整除num,那么num是一个素数
            if num%p == 0:
                flag = False
                break
            else:
                break
    if flag:
        primes.append(num)
        print(num,end=',')
    num += 1
  1. 计算1!+2!+3!+…n!
# 计算1!+2!+3!+...n!
n = int(input('请输入一个正整数n'))
i = 1
total = 0
while i <= n:
    j =1
    k = 1
    while j <= i:
        k *= j
        j += 1
    total += k
    i += 1
    
print(total)
  1. 猜数字游戏,随机生成一个1-100内的整数,然后让用户猜,记录用户猜的过程,在用户猜出后打印结果和次数
import random
guess_nums = []
num = random.randint(1,100)
print('随机生成的数字是:',num)
flag = True
while flag:
    guess = int(input('请输入您猜测的数字:'))
    guess_nums.append(guess)
    if guess < num:
        print('小了')
    if guess > num:
        print('大了')
    if guess == num:
        flag = False
        print('恭喜你猜对了,您一共猜了%d次'%len(guess_nums))
        for i in guess_nums:
            print(i)
        break
  1. 给定一个整数列表nums和一个整数目标值target,请你在该列表中找出和为目标值target的那两个整数,并返回他们的索引
    你可以假设每种输入只会对应一个答案,但是数组中同一个元素在答案中不能重复出现,
    比如
    输入nums = [2,7,11,15],target = 9
    输出[0,1]
    输入 nums = [3,2,4] target =6
    输出 [1,2]
    输入 nums = [3,3] target = 6
    输出 [0,1]
nums = [1,2,4,6,9,3]
target = 7
i = 0
while i < len(nums):
    r  = target - nums[i]
    follows = nums[i+1:]
    if r in follows:
        print(i,follows.index(r)+i+1)
    i += 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值