プログラミングは欠かせないプラクティスです。エディターでトピックを見て、Pythonの興味深い小さな質問に一緒に答えましょう!(異なる回答がある場合は、アイデアのメッセージを残してください。
1:約4桁、100桁はすべて3、10桁はすべて6で、2と3で割り切れる可能性があります。このような4桁で最大と最小の2桁を見つけます。それぞれは何ですか。
'''
ls富
2021/1/16
练习处理
'''
num=range(1000,10000)
l=[]
for i in num :
if int(i/100)%10==3 and int(i/10)%10==6:#筛选百位数字都是3,十位数字都是6
if i%3==0 and i%2==0:#能被2整除,又能被3整除
while i!=0:
l.append(i)
print(max(l))
print(min(l))
break
2:Aを掛けるとDCBAになる4桁の自然数ABCDを見つけるためのプログラミング
'''
ls富
2021/1/16
练习处理
'''
num=range(1000,10000)
for i in num:
A=int(i / 1000) % 10
B = int(i / 100) % 10
C = int(i / 10) % 10
D = i % 10
num1=D*1000+C*100+B*10+A
if i*A==num1:
print(i)
3:検証:9より大きい整数からその桁の合計を引いたものの差は、9で割り切れる必要があります。
'''
ls富
2021/1/16
练习处理
'''
unm=int(input("请输入一个大于9的数(10~100):"))
while unm == 10 :
print("能被9整除")
break
if 100>=unm>10:
y=int(unm/10%10)
z=int(unm%10)
h=y+z
print(h)
if (unm -h) %9==0:
print("能被9整除")
4. 5桁の数字、
その後に7を書くと、6桁のAになり、その前に7を書くと、6桁のBになり、BはAの5倍になります。これを見つけてください。
5桁数。
'''
ls富
2021/1/16
练习处理
'''
num=range(10000,100000)
for i in num:
num1=i * 10 + 7
num2=i + 700000
if num2/num1==5:
print(i)
5:最も単純な真の分数があり、分子と分母の積は140です。
このような真の分数をすべて、小さいものから大きいものまで印刷します。
'''
ls富
2021/1/16
练习处理
'''
for i in range(1,14):
for j in range(i,141):
if i*j==140:
print("%d/%d"%(i,j))
6:ある数を80で割った商は、7の倍数であるだけでなく、2、3、4、5、6を取り除いた余りも1です。この自然数を求めてください。
'''
ls富
2021/1/16
练习处理
'''
num=range(1,100000)
for i in num:
x = i/80
if x % 7 ==0 and x%2==1 and x%3==1 and x%4==1 and x%5==1 and x%6==1:
print(x)
7.次の条件を満たす3桁を見つけるようにプログラムします。11で割って得られる商は、その桁の合計に等しくなります。
'''
ls富
2021/1/16
练习处理
'''
num=range(99,1000)
for i in num:
h = i/11
x=int(i/100%10)
y=int(i/10%10)
z=int(i%10)
s=x+y+z
if h==s:
print(i)
8:リストを指定して、最大値を見つけ(システムAPIは使用できません)、最小値を見つけ、平均を見つけ、合計します。
'''
ls富
2021/1/16
练习处理
'''
lt=list(input("请输入二个以上的数字:"))
for i in range(len(lt) - 1):
for j in range(len(lt) - 1 - i):
if lt[j] > lt[j + 1]:
lt[j], lt[j + 1] = lt[j + 1], lt[j]
print(lt)
9:コインが山積みになっていますが、一度に1つか2つしか取れませんが、何回コインを受け取ることができますか?
'''
ls富
2021/1/16
练习处理
'''
#递归法
num=int(input("请输入硬币数"))
def yibi(n):
d={1:1,2:2}
if n in d.keys():
return d[n]
else:
return yibi(n-1)+yibi(n-2)
print(yibi(num))
10:コインの山があり、一度に1つか2つしか取れません。少なくともコインを何回取ることができるかを見つけてください:[10,16,17,20]
'''
ls富
2021/1/16
练习处理
'''
ls=[10,16,17,10]
x=0
for i in ls:
if i % 2 ==0:
x+=i//2
else:
x+=i//2+1
print(x)
10:リスト内の重複データを削除するには、少なくとも2つのスキームを使用します
'''
ls富
2021/1/16
练习处理
'''
#类型转化集合set(无序,不能重复,不存在下标)
lt=[1,21,2,12,1,23,4,5,5]
s=set(lt)
l=list(s)
print(l)
#list下标查看进行比查看
for i in lt:
for j in range(len(lt) - i):
if lt[j] == lt[j + 1]:
lt.pop(j)
print("输出重复的数:%d"%i)
11:ログイン登録ケースを完了します(データを保存するにはコンテナーを使用する必要があります)
'''
ls富
2021/1/16
练习处理
'''
import sys
# users保存所有注册成功的用户
users = []
while True:
print("欢迎登录我们的用户管理系统")
print("\t\t 1、用户注册")
print("\t\t 2、用户登录")
print("\t\t 3、退出系统")
choice = input("请选择您的操作:")
if choice == "1":
while True:
print("欢迎进入到用户注册页面")
username = input("请输入用户名称:")
password = input("请输入用户密码:")
confirm_password = input("请再次确认密码:")
# 数据校验
# 用户名称不能为空
if username == None or len(username) == 0:
print("对不起,用户为空")
continue
# 用户名称不能重复
flag = False
for u in users:
if u.get("username") == username:
print("对不起,该用户已经存在,请重新注册")
flag = True
break
if flag:
continue
# 密码长度不能少于3位
if len(password) < 3:
print("对不起,密码长度不能少于3位")
continue
# 两次密码不一致
if password != confirm_password:
print("两次密码不一致")
continue
# 最后如何保存用户名称和密码
user = {"username": username, "password": password}
users.append(user)
print("用户注册成功,请登录")
break
elif choice == "2":
print("欢迎进入到用户登录页面")
username = input("请输入用户名称:")
password = input("请输入用户密码:")
# 判断用户名和密码是否存在于users
for user in users:
if user["username"] == username and user.get("password") == password:
print("恭喜您,{},登录成功".format(username))
else:
print("对不起,登录失败,请重新登录~~")
elif choice == "3":
sys.exit()
else:
print("输入有误,请重新选择")
12:2つのリストがマージされます
'''
ls富
2021/1/16
练习处理
'''
lt1=[1,2,3,4,5,6]
lt2=[2,3,4,5,6,7,8]
lt3=lt1+lt2
print(lt3)
13:リストを使用して、あるリストが別のリストにあるかどうかを判断します
'''
ls富
2021/1/16
练习处理
'''
lt1=[1,2,3,4,5,6]
lt2=[2,3,4,5,6,7,8]
lt3=lt1+lt2
if len(lt1) <= len(lt3):
print("存在")
else:
print("不存在")
14:リストの並べ替えを逆にしました
'''
ls富
2021/1/16
练习处理
'''
lt1=[1,23,46,8,93,6,3,4,5,6]
lt2=["A","c","d","G"]
lt1.sort()#排序
print(lt1)
lt2.sort(key=None)#英文排序
print(lt2)
#反转
lt1.reverse()
print(lt1)
15:次のようなリストがあります[1,3,5,3,4,100、-21,1,6]、ソートを完了してください。システムAPIを使用しないように注意してください。
'''
ls富
2021/1/16
练习处理
'''
lt=[1,3,5,3,4,100,-21,1,6]
for i in range(len(lt) - 1):
for j in range(len(lt) - 1 - i):
if lt[j] > lt[j + 1]:
lt[j], lt[j + 1] = lt[j + 1], lt[j]
print(lt)
16:0から10をランダムにリストに保存する方法
'''
ls富
2021/1/16
练习处理
'''
import random
lt=[2,3,4,5,6]
x=random.randint(0,10)
lt.append(x)#末尾开始
print(lt)
lt.insert(2,x)#从3开始
print(lt)
今日は4人で年齢が異なります。合計年齢は129歳で、3人の年齢は平方数です。15年前にさかのぼると、この4人のうち3人はまだ年齢の平方数です。質問してください。それぞれの年齢のために:
(オプションの質問):
人が次のチェス盤に入り、左上隅から始めて、最後に右下隅から出てきます(後ろではなく前に進む必要
があります)。質問:いくつの動きがありますか?
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0