網絡奇人怪小四 发表于 2022-11-29 10:36:39

新手學會random函數後自制的包剪揼遊戲

"""包剪揼遊戲"""

import random

choice=["包","剪","揼"] #結果

user=input("請輸入你的結果: ") #玩家輸入結果
computer_choice=random.choice(choice) #電腦出結果

user_choice = user

print("電腦出拳為",computer_choice)

#判斷勝負
if user not in choice:
print("系統出錯!")
elif (user_choice == "包" and computer_choice == "揼") or (user_choice == "剪" and computer_choice == "包") or (user_choice == "揼" and computer_choice == "剪"):
print("you win!!")
elif user_choice == computer_choice:
print("打和!")
else:
print("you lose!")

希望各位大神可以指教一下有沒有什麼可以修改

zhangjinxuan 发表于 2022-11-29 10:43:41

本帖最后由 zhangjinxuan 于 2022-11-29 10:44 编辑

注意縮進哈,建議用程式碼格式,程式做的很不錯,繼續加油{:10_256:}

tommyyu 发表于 2022-11-29 11:14:01

zhangjinxuan 发表于 2022-11-29 10:43
注意縮進哈,建議用程式碼格式,程式做的很不錯,繼續加油

↑樓上說的對{:10_256:}

zhangjinxuan 发表于 2022-11-29 11:19:36

tommyyu 发表于 2022-11-29 11:14
↑樓上說的對

百度翻譯是個好東西{:10_256:}

jackz007 发表于 2022-11-29 11:25:01

本帖最后由 jackz007 于 2022-11-29 11:43 编辑

import random

while True:
    choice = '包剪揼'
    user = input("請輸入你的結果: : ")
    if user in '123' : break
    print('輸入错误!\n')
computer = random . choice('123')
x = int(user) - int(computer)
print('您:[%s] ,电脑:[%s],' % (choice , choice) , end = '')
print('平') if x == 0 else print('您赢') if x == 1 or x == -2 else print('您输')

zhangjinxuan 发表于 2022-11-29 11:26:08

jackz007 发表于 2022-11-29 11:25


很不錯,我怎麼沒想到{:10_256:}

網絡奇人怪小四 发表于 2022-11-29 17:37:49

zhangjinxuan 发表于 2022-11-29 10:43
注意縮進哈,建議用程式碼格式,程式做的很不錯,繼續加油

謝謝, 應該是複制貼上的時候縮進沒了, 下次會注意 , 謝謝提點

網絡奇人怪小四 发表于 2022-11-29 17:38:26

zhangjinxuan 发表于 2022-11-29 11:19
百度翻譯是個好東西

請問用百度翻譯是什麼意思?

網絡奇人怪小四 发表于 2022-11-29 17:40:22

jackz007 发表于 2022-11-29 11:25


代碼行9至行11看不懂了, 可以解析一下嗎~

jackz007 发表于 2022-11-29 17:47:30

本帖最后由 jackz007 于 2022-11-29 17:48 编辑

網絡奇人怪小四 发表于 2022-11-29 17:40
代碼行9至行11看不懂了, 可以解析一下嗎~

       user 和 compurt 都是字符串,内容是 '1'、'2' 或者 '3'
       int() 就是从字符串中提取整数,例如,int('1') = 1,int('3') = 3
       第 10 行就是 print() 和字符串切片,不会连这个都看不懂吧?
       第 11 行就是根据从字符串 user 和 computer 中提取到两个整型数之间的差值来判定输赢啊。

網絡奇人怪小四 发表于 2022-11-29 18:18:06

jackz007 发表于 2022-11-29 17:47
user 和 compurt 都是字符串,内容是 '1'、'2' 或者 '3'
       int() 就是从字符串中提取整数 ...

行10請問你是不是用了一點c語言來寫, 因為剛學python還沒接觸到%s這個, 還是看不懂
行11你是不是將包剪布用數字1,2,3代替, 例如包贏布==1-3==-2, 包輸剪==1-2==-1, 將結果整合,得出贏輸打和三類別?
但整體來說你的代碼思路寫得比我聰明得多

jackz007 发表于 2022-11-29 18:55:18

網絡奇人怪小四 发表于 2022-11-29 18:18
行10請問你是不是用了一點c語言來寫, 因為剛學python還沒接觸到%s這個, 還是看不懂
行11你是不是將包剪 ...

         第10行确实有一点类似 printf() 但是,有区别,建议补充学习一下 print() 函数,第 11 行基本就是你理解的情况。

zhangjinxuan 发表于 2022-11-29 19:41:32

網絡奇人怪小四 发表于 2022-11-29 17:38
請問用百度翻譯是什麼意思?

一种翻译软件~

網絡奇人怪小四 发表于 2022-11-29 20:22:50

zhangjinxuan 发表于 2022-11-29 19:41
一种翻译软件~

那跟我寫代碼有什麼關係呢?
不太明白

zhangjinxuan 发表于 2022-11-29 20:23:35

網絡奇人怪小四 发表于 2022-11-29 20:22
那跟我寫代碼有什麼關係呢?
不太明白

简体翻译繁体字啊

網絡奇人怪小四 发表于 2022-11-29 20:28:24

jackz007 发表于 2022-11-29 18:55
第10行确实有一点类似 printf() 但是,有区别,建议补充学习一下 print() 函数,第 11 行基本就 ...

明白, 可能我學python學得不夠多, 還未搞清楚在內置函數print()入面%s是什麼意思

網絡奇人怪小四 发表于 2022-11-29 20:31:30

zhangjinxuan 发表于 2022-11-29 20:23
简体翻译繁体字啊

哦, 明白了, 你意思是叫我用百度翻譯將繁轉簡是嗎
哈哈哈
我以為繁體應該大部人都看得懂
好吧, 下次注意一點~謝謝提點

zhangjinxuan 发表于 2022-11-29 20:34:01

網絡奇人怪小四 发表于 2022-11-29 20:31
哦, 明白了, 你意思是叫我用百度翻譯將繁轉簡是嗎
哈哈哈
我以為繁體應該大部人都看得懂


没事~

網絡奇人怪小四 发表于 2022-11-29 20:35:58

zhangjinxuan 发表于 2022-11-29 20:34
没事~

^_^
页: [1]
查看完整版本: 新手學會random函數後自制的包剪揼遊戲