Introduction & Porgram Requirements for the Higher Lower Game
Solution & Walkthrough of the Higher Lower Game
Which Gets Googled More? Play The Higher Lower Game
Top 100 按關注數排序 Instagram網紅排行榜 - NoxInfluencer
import random
import requests
from bs4 import BeautifulSoup
html_doc = requests.get('<https://tw.noxinfluencer.com/instagram-channel-rank/top-100-tw-all-sorted-by-followers-weekly>').text
soup =BeautifulSoup(html_doc, 'lxml')
name=[]
name2=[]
name_inside=[]
is_game_over = False
article_tags = soup.find_all('div',class_='table-body')
for number in article_tags:
number_tit = number.find_all('span',class_='title pull-left ellipsis')
#number_num = number.find_all('span',class_='number', class_='rank-cell pull-left rank-followers') 錯的
number_num = number.find_all('span', class_='number')
for fancy in range(3, 400, 4):
name2.append(float((number_num[fancy].text)[:-2]) * 10000)
for data in number_tit:
name.append(data.text)
def get_a_number():
xx = random.randint(0, 99)
return xx
def get_a_name():
yy = get_a_number()
if yy in name_inside:
get_a_name()
else:
name_inside.append(yy)
return name[yy], name2[yy]
def Compare_scores(user_chose_name, npc_chose_name):
user_score = int(name2[name.index(user_chose_name)])
npc_score = int(name2[name.index(npc_chose_name)])
if user_score > npc_score:
anwser =(f"you win, {user_chose_name} 粉絲有 {user_score} 人,{npc_chose_name} 粉絲有 {npc_score} 人!")
win_name = user_chose_name
return anwser, 1, win_name
elif user_score < npc_score:
anwser = (f"you lose, {user_chose_name} 粉絲有 {user_score} 人,{npc_chose_name} 粉絲有 {npc_score} 人!")
return anwser, 0, "lose"
aa_name, aa_value = get_a_name()
# bb_name, bb_value = get_a_name()
score = 0
while not is_game_over:
bb_name, bb_value = get_a_name()
user_chose = input(f"誰的粉絲比較多,'A :' {aa_name},'B : '{bb_name},請選擇 :").lower()
if user_chose == "a":
who_win, x, win_name = Compare_scores(aa_name, bb_name)
else:
who_win, x, win_name = Compare_scores(bb_name, aa_name)
# if len(name_inside) == 100:
# print("100分,大贏家!")
# is_game_over = True
if x == 0:
is_game_over = True
print(who_win)
print(f"game over,你得到 {score} 分")
elif x == 1:
score += 1
print(who_win)
if score == 100:
print("100分,大贏家!")
is_game_over = True
else:
print(f'你得到 {score} 分,請繼續')
aa_name = win_name
# bb_name, bb_value = get_a_name()
2022/03/08
調整後的版本
import random
import requests
from bs4 import BeautifulSoup
html_doc = requests.get('<https://tw.noxinfluencer.com/instagram-channel-rank/top-100-tw-all-sorted-by-followers-weekly>').text
soup =BeautifulSoup(html_doc, 'lxml')
name=[]
name2=[]
name_inside=[]
is_game_over = False
article_tags = soup.find_all('div',class_='table-body')
for number in article_tags:
number_tit = number.find_all('span',class_='title pull-left ellipsis')
#number_num = number.find_all('span',class_='number', class_='rank-cell pull-left rank-followers') 錯的
number_num = number.find_all('span', class_='number')
for fancy in range(3, 400, 4):
name2.append(float((number_num[fancy].text)[:-2]) * 10000)
for data in number_tit:
name.append(data.text)
def get_a_number():
xx = random.randint(0, 99)
while xx in name_inside:
xx = random.randint(0, 99)
return xx
def get_a_name():
yy = get_a_number()
name_inside.append(yy)
#print(name_inside)
#print(name[yy], name2[yy])
return name[yy], name2[yy]
def Compare_scores(user_chose_name, npc_chose_name):
user_score = int(name2[name.index(user_chose_name)])
npc_score = int(name2[name.index(npc_chose_name)])
if user_score > npc_score:
anwser =(f"you win, {user_chose_name} 粉絲有 {user_score} 人,{npc_chose_name} 粉絲有 {npc_score} 人!")
win_name = user_chose_name
return anwser, 1, win_name
elif user_score < npc_score:
anwser = (f"you lose, {user_chose_name} 粉絲有 {user_score} 人,{npc_chose_name} 粉絲有 {npc_score} 人!")
return anwser, 0, "lose"
aa_name, aa_value = get_a_name()
# bb_name, bb_value = get_a_name()
score = 0
while not is_game_over:
bb_name, bb_value = get_a_name()
#print(name_inside)
user_chose = input(f"誰的粉絲比較多,'A :' {aa_name},'B : '{bb_name},請選擇 :").lower()
if user_chose == "a":
who_win, x, win_name = Compare_scores(aa_name, bb_name)
else:
who_win, x, win_name = Compare_scores(bb_name, aa_name)
if x == 0:
is_game_over = True
print(who_win)
print(f"game over,你得到 {score} 分")
elif x == 1:
score += 1
print(who_win)
if score >= 99:
print("大贏家!")
is_game_over = True
else:
print(f'你得到 {score} 分,請繼續')
aa_name = win_name
Study Tip : Set Reminders in Your Calendar to Review