【发布时间】:2020-01-07 15:06:16
【问题描述】:
我正处于编码的第一周,正在尝试解决我的代码中的一个问题
挑战:如何通知用户他的输入不在字母表中,然后在不继续代码的情况下将他返回到输入行。
我的代码
import random
import re
print(" _______\\__")
print(" (_. _ ._ _/")
print(" '-' \__. /")
print(" / /")
print(" / / .--. .--.")
print(" ( ( / '' \/ '' \ || || /\ |\ | _____ |\ /| /\ |\ |")
print(" \ \_.' \ ) ||--|| /__\ | \ | | ___ | \/ | /__\ | \ |")
print(" || _ './ || || / \ | \| |____| | | / \| \|")
print(" |\ \ ___.'\ /")
print(" '-./ .' \ |/")
print(" \| / )|\'")
print(" |/ // \\")
print(" |\ __// \\__")
print(" //\\ /__/ \__|")
print(" .--_/ \_--.")
print(" /__/ \__\'")
name_user = str(input("What is your name?:"))
print("Hello,", name_user, "lets play HangMan, try to guess the word i have challenged you with?")
word_list = ["fireboard", "identical", "chocolate", "christmas", "beautiful", "happiness", "wednesday", "challenge", "celebrate"]
random_pick = random.choice(word_list)
random_pick_a = re.sub("[a-z]","*", random_pick)
random_pick_list_a = list(random_pick_a)
print(random_pick)
count = 0
def main_function():
global count
while count <= 9:
user_input = str(input("type a letter:"))
for i, c in enumerate(random_pick):
if c == user_input.casefold():
random_pick_list_a[i] = user_input.casefold()
random_pick_list_b = ''.join(random_pick_list_a)
if random_pick_list_b == random_pick:
print("done")
exit()
else:
continue
else:
if user_input.casefold() not in random_pick:
count = count+1
print(count)
if count == 10:
print("sorry")
exit()
print(random_pick_list_b)
main_function()
【问题讨论】:
-
可爱的横幅并不真正属于这里;另请参阅创建minimal reproducible example 的指南。
-
使变量
global完全没有意义;你没有在你的功能之外使用它。您通常应该避免使用全局变量。
标签: python python-3.x