目次
1. ユーザーは 2 つの数字 a と b を入力します。a が b で割り切れる場合、または a と b を加えた値が 1000 より大きい場合は a を出力し、それ以外の場合は b を出力します。
2. 数値を入力し、偶数か奇数かを決定してください。偶数の場合は 1 ~ 3 の倍数を決定し、奇数の場合は 1 ~ 5 の倍数を決定してください。
3. 同じかごの中に鶏とウサギがいます。上から見ると頭が 35 本、下から見ると足が 94 本あります。鶏は何羽、ウサギは何匹いますか。
4. 標準の水仙番号を印刷し、これらの水仙番号を出力します。
6. 5 桁の数字の後に 7 を書くと 6 桁の数字 A が得られます。その前に 7 を書くと 6 桁の数字 B が得られます。B は A の 5 倍です. 5桁の数字の桁数を求めます。
7. コインの山があり、一度に 1 つまたは 2 つしか取れません。すべてのコインを取得する最小回数を求めてください [10、8、5、3、27、99]
8. 2 つの素数の差が 2 のとき、この 2 つの素数を「双子数」といいます。100 以内の「双子数」をすべて求めてください。
9. 与えられたリストから最大値を見つけます (システム API は使用できません)、最小値、平均値、合計を見つけます。
10. リスト内の重複データを重複排除し、少なくとも 2 つのソリューションを使用します。
1. ユーザーは 2 つの数字 a と b を入力します。a が b で割り切れる場合、または a と b を加えた値が 1000 より大きい場合は a を出力し、それ以外の場合は b を出力します。
a = float(input("输入第一个数"))
b = float(input("输入第二个数"))
if b / a == 0 or a + b > 1000:
print('%0.2f' % a)
else:
print('%0.2f' % b)
2. 数値を入力し、偶数か奇数かを決定してください。偶数の場合は 1 ~ 3 の倍数を決定し、奇数の場合は 1 ~ 5 の倍数を決定してください。
num = int(input('请输入一个数:'))
if num % 2 == 0:
print(f'{num}为偶数,从1到{num}是3的倍数有:')
for x in range(1, num + 1):
if x % 3 == 0:
print(x)
else:
print(f'{num}为奇数,从1到{num}是5的倍数有:')
for x in range(1, num + 1):
if x % 5 == 0:
print(x)
3. 同じかごの中に鶏とウサギがいます。上から見ると頭が 35 本、下から見ると足が 94 本あります。鶏は何羽、ウサギは何匹いますか。
a = int(input('输入头的数量'))
b = int(input('输入脚的数量'))
print('鸡的数量是', int(a-((b-2 * a) / 2)), '只')
print('兔的数量是', int((b - 2 * a) / 2), '只')
4. 標準の水仙番号を印刷し、これらの水仙番号を出力します。
def num1():
for num in range(100, 1000):
a = num // 100
b = num // 10 % 10
c = num % 10
if num == a ** 3 + b ** 3 + c ** 3:
print("水仙花数为:%s" % num)
num1()
5. 50 から 150 までの素数は何ですか?
def a(num):
for i in range(2, num // 2 + 1):
if num % i == 0:
return False
return True
for i in range(50, 151):
if a(i):
print(f"{i}是质数")
6. 5 桁の数字の後に 7 を書くと 6 桁の数字 A が得られます。その前に 7 を書くと 6 桁の数字 B が得られます。B は A の 5 倍です. 5桁の数字の桁数を求めます。
def num():
for i in range(10000,100000):
num1=i * 10 + 7
num2=i + 700000
if num2==5*num1:
print(i)
num()
7. コインの山があり、一度に 1 つまたは 2 つしか取れません。すべてのコインを取得する最小回数を求めてください [10、8、5、3、27、99]
coin = [10, 8, 5, 3, 27, 99]
x = 0
for i in coin:
if i % 2 == 0:
x += i // 2
else:
x += i // 2 + 1
print(f'{x}')
8. 2 つの素数の差が 2 のとき、この 2 つの素数を「双子数」といいます。100 以内の「双子数」をすべて求めてください。
print('0到100以内的孪生数对有:')
m = 2
for num in range(3,100,2):
for i in range(2,num//2 + 1):
if num % i == 0:
break
else:
if num - m == 2:
print(f'{m},{num}')
m = num
9. 与えられたリストから最大値を見つけます (システム API は使用できません)、最小値、平均値、合計を見つけます。
n = int(input('请您输入您想输入的数字个数:'))
ls = []
for i in range(1,n+1):
num = float(input(f'请输入第{i}个数:'))
ls.append(num)
print(f'您输入的数字有:{ls}')
ma = ls[0]
mi = ls[0]
su = 0
for i in ls:
su = su + i
if i > ma:
ma = i
elif i < mi:
mi = i
print(f'这些数的最大值为:{ma}')
print(f'这些数的最小值为:{mi}')
print(f'这些数的和为:{su}')
print(f'这些数的平均值为:{su/n}')
10. リスト内の重複データを重複排除し、少なくとも 2 つのソリューションを使用します。
ls = [1, 2, 3, 4, 4, 5, 6, 2, 3]
print(f'原列表为:{ls}')
# 方案一:set
ls = list(set(ls))
print(f'方案一去重后的列表为:{ls}')
# 方案二:遍历循环
ls1 = []
for n in ls:
if n not in ls1:
ls1.append(n)
ls = ls1
print(f'方案二去重后的列表为:{ls}')
11. 2 つのリストを結合する
ls1 = [1,2,3]
ls2 = [4,5,6]
print(f'ls1:{ls1}')
print(f'ls2:{ls2}')
ls1.extend(ls2)
print(f'将ls2合并到ls1中:{ls1}')
ls1 = [1,2,3]
ls2.extend(ls1)
print(f'将ls1合并到ls2中:{ls2}')
12. リストの反転 リストの並べ替え
ls = [1, 2, 4, 5, 3, 6]
print(f'ls:{ls}')
ls.reverse()
print(f'ls的反转:{ls}')
ls.sort()
print(f'ls的排序:{ls}')
13. 0~10をランダムにリストに格納する方法
import random
ls = []
while True:
i = random.randint(0,10)
if i not in ls:
ls.append(i)
if len(ls) == 11:
break
print(f'ls = {ls}')