Python练习(续)

文章介绍了编程练习中的几个例子,包括用户登录和注册功能实现、质数判断、水仙花数打印、五位数问题、取硬币最少次数、孪生素数查找以及列表去重和随机数生成等基本IT技术应用。
摘要由CSDN通过智能技术生成

练习1:用户登录注册案例

import sys

idname = {'test':'123456'}

print("""		     英雄联盟商城登录界面

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

			1. 用户登录
	
			2. 新用户注册

			3. 退出系统

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
""")
a = int(input("(温馨提示)请输入您的选项:"))

if a == 1:
    b = input("请输入您的账号:")
    c = input("请输入您的密码:")
    if b in idname.keys()and c == idname[b]: 
        print(idname[b])
        print("登录成功!")
    else:
        print("登录失败!")
elif a == 2:
    a = input("请输入您的账号:")
    if a in idname.keys():
        print("该账号已被注册!")
    else:
        b = input("请输入您的密码:")
        idname[a] = b
        print("注册成功!")
elif a == 3:
    print("退出系统!")
    sys.exit()
else:
    print("请输入正确的选项!")


                     英雄联盟商城登录界面

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

                        1. 用户登录

                        2. 新用户注册

                        3. 退出系统

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

(温馨提示)请输入您的选项:1
请输入您的账号:test
请输入您的密码:123456
123456
登录成功!

                     英雄联盟商城登录界面

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

                        1. 用户登录

                        2. 新用户注册

                        3. 退出系统

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

(温馨提示)请输入您的选项:2
请输入您的账号:11
请输入您的密码:11
请输入您的密码:11
注册成功!

                     英雄联盟商城登录界面

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

                        1. 用户登录

                        2. 新用户注册

                        3. 退出系统

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

(温馨提示)请输入您的选项:2
请输入您的账号:11
请输入您的密码:11
注册成功!


                     英雄联盟商城登录界面

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

                        1. 用户登录

                        2. 新用户注册

                        3. 退出系统

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

(温馨提示)请输入您的选项:2
请输入您的账号:test
该账号已被注册!

                     英雄联盟商城登录界面

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

                        1. 用户登录

                        2. 新用户注册

                        3. 退出系统

~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~

(温馨提示)请输入您的选项:3
退出系统!

练习2: 求50~150之间的质数是那些?

num = int(input("请输入一个整数,判断该数是否是质数:"))

flag = True
for i in range(2, num // 2 + 1):
	if num % i == 0:
		flag = False
		break

if flag:
	print(f"{num}是个质数")
else:
	print(f"{num}是个合数")

练习3:打印输出标准水仙花数,输出这些水仙花数

def num():
	for flower in range(100,1000):
	    a = flower//100
	    b = flower//10%10
	    c = flower%10
	    if flower == a**3+b**3+c**3:
	        print(flower)
num()

练习4:一个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数.

def num ():
	for i in range(10000,100000):
	    num1=i * 10 + 7
	    num2=i + 700000
	    if num2/num1==5:
	        print(i)
num()

练习5:有一堆硬币,每次

只能拿一个或者两个,求最少多少次可以拿完硬币 [10, 8, 5, 3, 27, 99]

def min_moves_to_finish_coins(coins):
    count = 0
    while coins:
        if len(coins) % 2 == 1:
            coins.pop(0)
        else:
            coins.pop(0)
            coins.pop(0)
        count += 1
    return count

coins_list = [10, 8, 5, 3, 27, 99]
print(min_moves_to_finish_coins(coins_list))

练习6: 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数"

twin_primes = []

for i in range(2, 98):  
    if (i % 2 != 0) and (i + 2 % 2 != 0):  
        is_prime_i = True
        for j in range(2, int(i ** 0.5) + 1):
            if i % j == 0:
                is_prime_i = False
                break

        is_prime_i_plus_2 = True
        for k in range(2, int((i + 2) ** 0.5) + 1):
            if (i + 2) % k == 0:
                is_prime_i_plus_2 = False
                break

        if is_prime_i and is_prime_i_plus_2:
            twin_primes.append((i, i + 2))

print("100以内的孪生素数有:")
for pair in twin_primes:
    print(pair)

练习7: 给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

nums = [5, 3, 8, 1, 9, 2]

max_num = nums[0]
min_num = nums[0]

total_sum = 0

num_count = len(nums)
for num in nums:
    if num > max_num:
        max_num = num
    elif num < min_num:
        min_num = num
    total_sum += num

average = total_sum / num_count

print("最大值:", max_num)
print("最小值:", min_num)
print("平均值:", average)
print("求和:", total_sum)

练习8:

将list中的重复数据去重,至少使用两种方案

#方案一
nums = [3, 5, 2, 3, 7, 5, 1, 3, 2]

# 使用set去除重复元素
unique_nums = list(set(nums))

print(unique_nums)

#方案二

nums = [3, 5, 2, 3, 7, 5, 1, 3, 2]
unique_nums = []

for num in nums:
    if num not in unique_nums:
        unique_nums.append(num)

print(unique_nums)

 练习9:如何将0-10随机存入列表中

num = set({1,2,3,4,5,6,7,8,9,10})
print(list(num)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溢彩风华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值