Python-Übungen (zwei)

Programmieren ist eine unverzichtbare Praxis. Schauen wir uns das Thema mit dem Editor an und beantworten gemeinsam die interessanten kleinen Fragen von Python! (Wenn Sie unterschiedliche Antworten haben, hinterlassen Sie bitte eine Nachricht für Ideen.

1: Es gibt ungefähr vier Ziffern, die hundert Ziffern sind alle 3 und die zehn Ziffern sind alle 6 und sie können durch 2 und 3 teilbar sein. Finden Sie die größten und kleinsten zwei Ziffern in solchen vier Ziffern. Was sind sie jeweils?

'''
    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

Fügen Sie hier eine Bildbeschreibung ein

2: Programmieren, um eine vierstellige natürliche Zahl ABCD zu finden, die nach Multiplikation mit A zu DCBA wird

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

3: Überprüfung: Die Differenz zwischen einer ganzen Zahl größer als 9 abzüglich der Summe ihrer Ziffern muss durch 9 teilbar sein.

'''
    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整除")

Fügen Sie hier eine Bildbeschreibung ein

4. Eine fünfstellige Zahl, wenn Sie eine 7
danach schreiben, erhalten Sie eine sechsstellige A, wenn Sie eine 7 davor schreiben, erhalten Sie eine sechsstellige B, B ist fünfmal A, finden Sie diese
fünf Anzahl der Ziffern.

	'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

5: Es gibt einen einfachsten wahren Bruch, das Produkt aus Zähler und Nenner ist 140,
drucken Sie alle diese wahren Brüche von klein nach groß

	'''
    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))

Fügen Sie hier eine Bildbeschreibung ein

6: Der Quotient, der durch Teilen einer bestimmten Zahl durch 80 erhalten wird, ist nicht nur ein Vielfaches von 7, sondern auch der Rest nach dem Entfernen von 2, 3, 4, 5 und 6 ist 1. Finden Sie diese natürliche Zahl.

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein
7. Programmieren Sie, um die drei Ziffern zu finden, die die folgenden Bedingungen erfüllen: Der Quotient, der durch Teilen durch 11 erhalten wird, entspricht der Summe seiner Ziffern.

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

8: Suchen Sie anhand einer Liste den Maximalwert (die System-API kann nicht verwendet werden), den Minimalwert, den Durchschnitt und die Summe

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

9: Es gibt einen Stapel Münzen, Sie können immer nur ein oder zwei gleichzeitig nehmen. Wie oft können Sie die Münzen nehmen?

'''
    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))

Fügen Sie hier eine Bildbeschreibung ein
10: Es gibt einen Stapel Münzen, und Sie können immer nur ein oder zwei gleichzeitig nehmen. Bitte finden Sie heraus, wie oft Sie die Münzen nehmen können: [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)

Fügen Sie hier eine Bildbeschreibung ein

10: Um doppelte Daten in der Liste zu entfernen, verwenden Sie mindestens zwei Schemata

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

11: Füllen Sie einen Login-Registrierungsfall aus (erfordert die Verwendung von Containern zum Speichern von Daten)

'''
    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: Zwei Listen werden zusammengeführt

'''
    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: Verwenden Sie die Liste, um festzustellen, ob sich eine Liste in einer anderen Liste befindet

'''
    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("不存在")

Fügen Sie hier eine Bildbeschreibung ein

14: Umgekehrte Listensortierung

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

15: Es gibt eine Liste wie folgt [1,3,5,3,4,100, -21,1,6]. Bitte schließen Sie die Sortierung ab. Achten Sie darauf, die System-API nicht zu verwenden

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

16: So speichern Sie 0-10 zufällig in der Liste

'''
    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)

Fügen Sie hier eine Bildbeschreibung ein

Heute gibt es vier Personen mit unterschiedlichem Alter. Das Gesamtalter beträgt 129 Jahre, und drei von ihnen sind quadratische Zahlen. Wenn Sie 15 Jahre zurückgehen, haben drei dieser vier Personen immer noch quadratische Alterszahlen. Fragen Sie für ihr jeweiliges Alter:

(Optionale Frage): Eine
Person betritt das folgende Schachbrett, bittet darum, an der oberen linken Ecke zu beginnen und kommt schließlich an der unteren rechten Ecke heraus (erforderlich, um nur vorwärts und nicht rückwärts zu gehen).
Frage: Wie viele Züge gibt es?

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

Ich denke du magst

Origin blog.csdn.net/weixin_47514459/article/details/112723380
Empfohlen
Rangfolge